Il m'en manque 1 ... le premier de la liste

Résolu
arcadia77 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
arcadia77 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à Tous,

Je rencontre (encore...) un souci !
Voici le code en question, et mon problème :

<?php
$requete = "SHOW COLUMNS FROM liste_diffusion FROM intranet LIKE 'DL%'";
$requete1 = mysql_query($requete);
$data = mysql_fetch_array($requete1);
				
$liste2_Array = $_POST['listediffusion'];

$sqlinsert = "insert into liste_diffusion ";
$sqlvalues = "id, ".$nomcompte.", ".$prenomcompte.", ";
$sqlfields = "id, USER_NOM, USER_PRENOM, ";
														
while ($checkbox = mysql_fetch_array($requete1))
{			
  //	echo $data[0]."<br>";
  //	if(isset($_POST['listediffusion']) AND $listediff != "NON")
   {
   $i=0;
   foreach($liste2_Array as $checkcochee)
      {
      if ($checkbox[0] == $checkcochee)
         {
         $i=1;
         //echo "<br>CHECKBOX : ".$checkcochee." COCHEE";
         break;
         }
      }
    $sqlfields=$sqlfields.$checkbox[0].", ";
    $sqlvalues=$sqlvalues.$i.", ";
    if ($i == 1)
    echo $checkbox[0]." : CHECKBOX COCHEE<br>";
    else
    echo $checkbox[0]." : CHECKBOX DECOCHEE<br>";	
   }
}
					
 $sqlfields=substr($sqlfields, 0, strlen($sqlfields)-2);
 $sqlvalues=substr($sqlvalues, 0, strlen($sqlvalues)-2);
					
 echo "<br>".$sqlinsert."(".$sqlfields.") values (".$sqlvalues.")";
					
 //mysql_query("INSERT INTO liste_diffusion ($row1[0]) VALUES (id,'MOI','MOI',) ")	or die ("erreur insert ".mysql_error());
							

?>


Donc, je recupere par une requete les noms des colones qui commencent par "DL" d'une table slq, par une 2eme requete les cases cochées recu par post d'une premiere page php...
Par une boucle imbriquée je compare les valeurs, si elles sont identiques, alors je mettrais une variable à 1, sinon ma variable sera à 0.

Tout fonctionne bien, je connais les cases cochées et celles qui ne le sont pas... le seule "truc" c'est qu'il me manque le tout premier champs commancant par "DL" :-(

Est de que quelqu'un aurait une idee d'ou provient mon erreur ...???...
Voici qqs champs de la table slq :
ID
USER_NOM
USER_PRENOM
DL_A
DL_B
DL_C
DL_D
...

Le resultat de ma requete me donne :
DL_B
DL_C
DL_D
...
il me manque donc DL_A !
(alors que sur une premiere page, tout se passe correctement, j'ai bien tous les champs (et checkbox), puisque mes checkbox sont générées à partir du résultat de ma requete (recupération du nom des colones)

Merci à tous par avance !
Christophe

1 réponse

toto
 
Bonjour

Ton erreur vient du $data = mysql_fetch_array($requete1);
Il lit ton premier résultat, puis tu n'en fais rien
Quand plus loin tu traites les résultats dans le while, le premier a déjà été lu, il est trop tard.
Supprime cette ligne
0
arcadia77 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Toto !

Merci beaucoup pour ta réponse, ca fonctionne parfaitement !

Christophe
0