Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Script de comparaison [ Archives / Bases de données ] (jantonazzo)

jeudi 11 mai 2006 à 16:42:57 | Script de comparaison

jantonazzo

Bonjour à tous.

J'effectue deux requets dans mon fichier où j'affiche le resultat apres chaque requet.


********************************************************************************
$sql = 'SELECT calendrier.date, documents.typedoc, documents.numdoc, documents.provenance, documents.fichier, documents.commentaire, clients.societe, etat_facture.numdoc, etat_facture.etat, etat_facture.numdoc
FROM calendrier, documents, clients, etat_facture
WHERE etat_facture.numdoc=documents.numdoc
AND calendrier.numdoc=documents.numdoc
AND documents.numcli=clients.numcli
AND societe like "'.trim($list).'"
ORDER BY `Date` DESC';

  include('requestTreatment.php');
  
  include('docHeaderTable.php');
  
  while ($num_rows >= $compteur)
  {
   $file = $row['fichier'];
   $file = substr($file, 8, -4);
   
   include('docRows.php');

   $compteur = $compteur + 1;
   $row = mysql_fetch_array($req);
  }

  $sql = 'SELECT calendrier.date, documents.typedoc, documents.numdoc, documents.provenance, documents.fichier, documents.commentaire, clients.societe, etat_facture.numdoc, etat_facture.etat, etat_facture.numdoc
FROM calendrier, documents, clients, etat_facture
WHERE etat_facture.numdoc=documents.numdoc
AND calendrier.numdoc=documents.numdoc
AND documents.numcli=clients.numcli
AND commentaire like "%'.trim($list).'%"
ORDER BY `Date` DESC';

  include('requestTreatment.php');  

  while ($num_rows >= $compteur)
  {
   $file = $row['fichier'];
   $file = substr($file, 8, -4);
   
   include('docRows.php');

   $compteur = $compteur + 1;
   $row = mysql_fetch_array($req);
  }
********************************************************************************


Mon probleme est que il est possible qu'un des resultats de la 2eme requete soit identique à un des resultat de la 1ere requete.

Donc j'aimerais faire un script agissant sur la 2eme requete qui
comparait les "numdoc" (id unique de ma table documents)
afin de ne pas les afficher si ils existent dans la 1ere requete.

Si qq'un peut m'aider...

Merci d'avance!!!


jeudi 11 mai 2006 à 17:01:18 | Re : Script de comparaison

Teclis01

je pense que 2 choix s'offre a toi a savoir:
- soit sauvegarder le resultat de la premiere requete
- soit imbriquer tes requetes.

-------------------------------------------------------------------------------------------------------
          Il vaut mieux poser une question et passer pour bête que le rester toute sa vie


jeudi 11 mai 2006 à 17:04:35 | Re : Script de comparaison

jantonazzo

J'ai essayé de faire ça mais ça ne fonctionne qu'a moitié.
Apres la 1er requete:


$numdocReq1 = $row['numdoc'];


Apres la 2eme requete:

  if($row['numdoc'] == $numdocReq1)
{

}
  if($row['numdoc'] <> $numdocReq1)
{

   while ($num_rows >= $compteur)
   {
    $file = $row['fichier'];
    $file = substr($file, 8, -4);
    
    include('docRows.php');
 
    $compteur = $compteur + 1;
    $row = mysql_fetch_array($req);
   }

}
*******************************************

ça ne marche que sur un seul enregistrement,

Il y a peut etre un probleme de boucle.


jeudi 11 mai 2006 à 17:06:14 | Re : Script de comparaison

jantonazzo

Tu pourrais m'aider pour imbriquer mes requetes stp?

Je pense que c'est la solution la plus light en code.


jeudi 11 mai 2006 à 17:14:16 | Re : Script de comparaison

Teclis01

deja il faudrait que je comprenne pq tes requetes sont si lognues alors que tu recupere que la valeur d un champ ... ensuite il faudrait recherche pour un mot clef en SQL pour desinclure les reponses d une variable a une requete enfin pour les imbriquer il suffit de faire un squelette comme ca:

while(mysql_num....de la requete 1){
    je recupere l id deja present dans une variable
    je fais ma requete 2 avec la variable
    while(mysql_num....de la requete 1){
       j affiche
    }
}

-------------------------------------------------------------------------------------------------------
          Il vaut mieux poser une question et passer pour bête que le rester toute sa vie


jeudi 11 mai 2006 à 17:57:02 | Re : Script de comparaison

jantonazzo

Elles sont si longues parce que je recupere 7 champs de 4 tables differentes.

le champs commun sur 3 tables est (numdoc)

Il est clé primaire sur un table et clée etrangere sur les 2 autres

Donc c'est sur celui là que je voudrais effectué le traitement.

 


vendredi 12 mai 2006 à 10:26:11 | Re : Script de comparaison

malalam

Administrateur CodeS-SourceS

Hello,

j'ai pas tout suivi, un peu crevé, mais : tu ne peux pas faire 1 seule requête? Il me semble que seule un truc de ta clause where est différent. Donc, un OR sur ces 2 clauses OR (... AND ...) devrait te sortir tes résultats, sans doublon.

Sinon, il te suffit de mettre ton documents.numdoc dans un tableau (dans ta boucle : $iId[] = $row['numdoc_alias'] è- je mets alias parce que  ta requête renvoie plusieurs champs numdoc, donc vaut mieux créer un alias si tu veux éviter une ambiguité).

Puis dans ta 2ème requête, tu ajoutes dans ta clause where un :

AND documents.numdoc NOT IN ('.implode (',', $iId).')

Vlà.


vendredi 12 mai 2006 à 12:03:51 | Re : Script de comparaison

jantonazzo

Bonjour malalam,

J'ai commencé par là mais la requete ne part pas quand je met OR.

$sql = 'SELECT calendrier.date, documents.typedoc, documents.numdoc, documents.provenance, documents.fichier, documents.commentaire, clients.societe, etat_facture.numdoc, etat_facture.etat, etat_facture.numdoc
FROM calendrier, documents, clients, etat_facture
WHERE etat_facture.numdoc=documents.numdoc
AND calendrier.numdoc=documents.numdoc
AND documents.numcli=clients.numcli
AND societe like "'.trim($list).'" 
OR commentaire like "%'.trim($list).'%"
ORDER BY `Date` DESC';

Si tu as une idée...

vendredi 12 mai 2006 à 12:46:48 | Re : Script de comparaison

malalam

Administrateur CodeS-SourceS
AND (societe like "'.trim($list).'" 
OR commentaire like "%'.trim($list).'%")

manque quand même les préfixes pour ces 2 champs.

vendredi 12 mai 2006 à 12:50:35 | Re : Script de comparaison

jantonazzo

Merci à tous,

Merci Maladam!



Cette discussion est classé dans : calendrier, etat, facture, documents, numdoc


Répondre à ce message

Sujets en rapport avec ce message

Comment crier une facture [ par DIANA ] Salut quiconque veux m'aideComment crier une facture avec VB6 et comment l'enregistrer dans bd access ? etat de presence en php ? [ par sana72 ] Bonjour, je souhaiterais savoir combien de personne est connecté sur le site et qui (lors de l'autenthification).En asp je fais ça avec le global.asa formulaire et checkbox [ par overider ] salutje vais vous expliquez en gros ce que j'ai et ce que je veuxj'ai une table liens(lib_liens, url, etat)l'etat definis si le lien est visible ou no AU SECOUR [ par jorgio08 ] Voila je suis etudiant en informatique et j'ai un travaille a faire mais je capte rien du tout, je vous explique ce que je dois faire, je dois faire u Facture [ par Jackboy ] J'ai créer un module de facturation pour un client (formulaire). J'aimerai faire imprimer une facture tel quel, mais sans le reste de la page, comme u Incrémenter [ par Jackboy ] J'ai besoin d'aide pour un incrémentation!J'ai un numéro de facture dans une base de donnée mysql qui commance par EL0001 et j'aimerai que l'incrément Je trouve pas l'erreur sur mon script [ par Akash ] Salut à tous j'espère que vous pourrez m'aider. Voila le problème :Pour mon script de calendrier evenementiel j'ai besoin d'afficher des évènements pa easyphp v 1.6 ---> v 1.7 [ par szteam ] alors la je suis sur le cul sa fait un moment ke g pa programmer en php et voila je mi remet avec notamen en proger la reticfication de bug ds mon scr Calendrier dynamique [ par pyranhaz ] Bonjour,je cherche à me faire un calendrier dynamique dans lequel un simple fichier de création normal de calendrier (les 12 mois de l'année, les 30 o Merci pour l'aide [ par gregmena ] GREG_SIDIUSje voudrais remercier toutes les personnes qui ont répondent à ma question ainsi que la rapidité de la réponse.encore un gr


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.