probleme sur renseignement des checkboxs dans la table

Eléphanteau du PHP | 36 Messages

29 déc. 2005, 14:43

Slt

encore moi lol

voila j'aie une erreur (sur une autre page, pour ceux qui on suivit mes premier "probleme" )

en fait chaque date que j'avait rentré avant fait apel a 4 checkbox (pour resumer) j'aie preque reussi a les renseigner dans la table mais voila j'aie une erreur:

Code : Tout sélectionner

INSERT INTO chds_cours_recup_horraire (ID_couple, ID_cours, ID_date, Matin, Après_Midi, Soir, inscription) VALUESErreur de syntaxe près de '' à la ligne 1
et voici le bout de code qui y correspond je croi...
if(!isset($_POST['iddate'])) $iddate=""; else $iddate=$_POST['iddate'];
 $values=""; 
for($i=$iddate;$i<=$totalRows_rsselectcours_horraire;$i++) 
            { 
if(!isset($_POST['checkbox_Matin'.$i])) $chckmatin=""; else $chckmatin=$_POST['checkbox_Matin'.$i];
if(!isset($_POST['checkbox_Après_Midi'.$i])) $chckapremidi=""; else $chckapremidi=$_POST['checkbox_Après_Midi'.$i];
if(!isset($_POST['checkbox_Soir'.$i])) $chcksoir=""; else $chcksoir=$_POST['checkbox_Soir'.$i];
if(!isset($_POST['checkbox_Non'.$i])) $chckinscrit=""; else $chckinscrit=$_POST['checkbox_Non'.$i];

$values.= "('$ID_couple_1', '$ID_cours','".$i."','".$chckmatin."','".$chckapremidi."','".$chcksoir."','".$chckinscrit."'),"; 
            }        
		mysql_select_db($database_phpconnexion, $phpconnexion);
		$insertvaliddate = "INSERT INTO chds_cours_recup_horraire (ID_couple, ID_cours, ID_date, Matin, Après_Midi, Soir, inscription) VALUES ".$values; 
		$insertvaliddate = substr($insertvaliddate, 0, -1);
   echo $insertvaliddate;
		mysql_query($insertvaliddate, $phpconnexion) or die(mysql_error());

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 déc. 2005, 14:55

que donne le echo sur la requete ?

EDIT: évite de mettre des apostrophes pour des champs de type entier :wink:
Modifié en dernier par Truc le 29 déc. 2005, 14:57, modifié 1 fois.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 14:55

et c'est quoi cette erreur ? :p
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphanteau du PHP | 36 Messages

29 déc. 2005, 15:26

echo $insertvaliddate;
donne donc

Code : Tout sélectionner

INSERT INTO chds_cours_recup_horraire (ID_couple, ID_cours, ID_date, Matin, Après_Midi, Soir, inscription) VALUES
[Truc] ou aie-je mis des apostrophe (je croyais les avoir deja retier)

[fab] l'erreur je ne sais pas ou elle est justement je la cherche...

si vous vouler tous le code je peut le metre mais ca risque de charger la page en code inutile...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 déc. 2005, 15:40

bon ben c'est clair tu n'entre pas dans la boucle pour construire le reste de la requete puisqu'il n'y a rien apres "VALUES" dans la requete.

à quoi correspond cette boucle
for($i=$iddate;$i<=$totalRows_rsselectcours_horraire;$i++)
Pour les apostrophes il y en a là:
$values.= "('$ID_couple_1', '$ID_cours','".$i."',
ce sont des id donc je suppose des entiers donc:
$values.= "($ID_couple_1, $ID_cours,".$i.",

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 36 Messages

29 déc. 2005, 20:35

la boucle me permet de traiter les differente ligne car il n'y en a pas tjr le meme nombre tu vois ???

ok pour les apostrophe mais je ne vois tjr pas pourquoi j'aie cette erreur

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 déc. 2005, 20:39

je ne vois tjr pas pourquoi j'aie cette erreur
bon ben c'est clair tu n'entre pas dans la boucle pour construire le reste de la requete
verifis la condition de la boucle elle ne doit pas etre bonne:

fait un simple test, inser un echo 'test'; dans la boucle pour voir si tu y entre ou pas :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 36 Messages

29 déc. 2005, 21:08

je ne voi pas ce que tu veux que je fasse ....

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 déc. 2005, 21:27

for($i=$iddate;$i<=$totalRows_rsselectcours_horraire;$i++)
            {

echo 'TEST'; // tu regardes s'il y a un affichage de ce echo

if(!isset($_POST['checkbox_Matin'.$i])) $chckmatin=""; else $chckmatin=$_POST['checkbox_Matin'.$i];
if(!isset($_POST['checkbox_Après_Midi'.$i])) $chckapremidi=""; else $chckapremidi=$_POST['checkbox_Après_Midi'.$i];
if(!isset($_POST['checkbox_Soir'.$i])) $chcksoir=""; else $chcksoir=$_POST['checkbox_Soir'.$i];
if(!isset($_POST['checkbox_Non'.$i])) $chckinscrit=""; else $chckinscrit=$_POST['checkbox_Non'.$i];

$values.= "('$ID_couple_1', '$ID_cours','".$i."','".$chckmatin."','".$chckapremidi."','".$chcksoir."','".$chckinscrit."'),";
            } 

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 21:38

il existe une synthaxe encore plus courte pour if else
ainsi
if(!isset($_POST['checkbox_Matin'.$i])) $chckmatin=""; else $chckmatin=$_POST['checkbox_Matin'.$i]; 
équivaut à :
$chckmatin = (!isset($_POST['checkbox_Matin'.$i])) ? "" : $_POST['checkbox_Matin'.$i];
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphanteau du PHP | 36 Messages

30 déc. 2005, 00:14

Merci fab j'aie plus l'erreur mais j'aie d'autre probleme ca avance quoi

truc l'echo marche bien ca retourne bien l'info : (avec l'erreur)

Code : Tout sélectionner

TESTINSERT INTO chds_cours_recup_horraire (ID_couple, ID_cours, ID_date, Matin, Après_Midi, Soir, inscription) VALUES ('22', '101','7','Matin','Apres_Midi','Soir','ne sinscrit pas') Warning: Cannot modify header information - headers already sent by (output started at ...\escpaceprive\uti_coursv1_0.php:144) in ...\escpaceprive\uti_coursv1_0.php on line 158

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 déc. 2005, 00:20

truc l'echo marche bien ca retourne bien l'info : (avec l'erreur)
maintenant oui la requete est complète donc plus de probleme de ce coté ?
la requete est bien exécutée ?

L'autre erreur vient d'un header qui n'est pas visible dans les lignes de code ici présent.Regarde la FAQ pour plus d'infos
:wink:

mais vient certainement de l'affichage de la requete, refait un essaie sans le echo

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 36 Messages

30 déc. 2005, 00:22

en fait ma boucle ne marche pas il ne prend en compte que la derniere ligne de checkbox

et pour mon erreur je sais d'ou elle provient c'est ma redirection et du fait qu'il y a un echo elle n'ets pas traiter ...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 déc. 2005, 00:25

en fait ma boucle ne marche pas il ne prend en compte que la derniere ligne de checkbox
d'où l'affichage du echo de TEST, pour verifier le nombre de passages dans la boucle :wink:

sinon à quoi correspondent:
:arrow: $iddate
:arrow: $totalRows_rsselectcours_horraire

dans le formulaire comment sont construits les cases a cocher (attribut name) ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 36 Messages

30 déc. 2005, 00:39

exacte je n'aie qu'un seul passage de ma boucle , je n'aie qu'un seul TEST donc 1 seul passage c'est ca ???

$iddate correspond a l'id de ma premiere date donc ma premiere ligne ca me permet de faire demarer ma boucle et ainsi de retomber sur mes id de champ pour $iddate je pense que c'est bon...

$totalRows_rsselectcours_horraire ca c'est normalement le nombre total de ligne selectionner par la requette sql et qui me permet en fesant $iddate+$totalRows_rsselectcours_horraite de retrouver la derniere id de ma ligne et donc stoppper l'incrementtaitoin....

et c'est la le probleme je croi que $totalRows_rsselectcours_horraire ne renvoi que 0

donc la limite est directement atteinte ...

(ce code est generer par dreamweaver...)