Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2006, 10h14   #1
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
Par défaut [SQL] Problème insertion de données

Bonjour à tous,
J'ai des petits soucis avec l'insertion des données dans ma BDD.
quand je liste les valeurs contenu dans mon tableau, voila ce que j'obtiens :
TOTO
1
2
3
4
TITI
5
6
7
8
TATA
9
10
11
12
Jusque là, pas de porblème, par contre quand je les inserts dans ma BDD, voilà ce que je retrouve dans ma BDD :
TATA|9|12|11|4
TATA|9|12|11|8

Et moi, ce que je veux c'est ça :
TOTO|1|2|3|4
TITI|5|6|7|8
TATA|9|10|11|12

Voici le code que j'utilise :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
$compteur=$_SESSION['tableau']*5;
for ($i=0; $i<$compteur; $i++){
echo $_SESSION['inter'][$i];
}
for ($i=0; $i<$compteur; $i=$i+5){
if ($_SESSION['inter'][$i]<> "") {
echo "<br>".$i;
$req="UPDATE correspondre SET Nom_inter='".$_SESSION['inter'][$i]."', Num_projet='".$_SESSION['code_projet']."', jour_TR1='".$_SESSION['inter'][$i+1]."', jour_TR2='".$_SESSION['inter'][$i+2]."', jour_TR3='".$_SESSION['inter'][$i+3]."', jour_TR2='".$_SESSION['inter'][$i+4]."' WHERE Num_projet='".$_SESSION['code_projet']."';";
$insert=mysql_query($req);
}
}
Quelqu'un voit-il d'où viens le problème ?
Merci d'avance
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 10h39   #2
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Je rejouterai une condition pour vérifier que tu démarres bien sur TOTO, TITI ou TATA (donc tous les 5):

Code :
1
2
3
4
5
6
7
8
9
for ($i=0; $i<$compteur; $i=$i+5){
if ($_SESSION['inter'][$i]<> "") {
   if(in_array($i, array(0, 5, 9)) {
      echo "<br>".$i;
      $req="UPDATE correspondre SET Nom_inter='".$_SESSION['inter'][$i]."', Num_projet='".$_SESSION['code_projet']."', jour_TR1='".$_SESSION['inter'][$i+1]."', jour_TR2='".$_SESSION['inter'][$i+2]."', jour_TR3='".$_SESSION['inter'][$i+3]."', jour_TR2='".$_SESSION['inter'][$i+4]."' WHERE Num_projet='".$_SESSION['code_projet']."';";
      $insert=mysql_query($req);
   }
}
}
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h03   #3
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
J'ai rajouté le in_array mais ce ne marche pas, j'ai un message d'erreur
Warning: in_array(): Wrong datatype for second argument in c:\program files\easyphp1-8\www\insert_modif_projet.php on line 80

Apparement la syntaxe exact est :
Code :
if(in_array(array(0,5,10),$i))
Mais ça ne marche pas mieux
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h19   #4
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Et il s'affiche quoi?
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h25   #5
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
rien d'autres mis a part le message d'erreur
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h35   #6
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Ce code fonctionne très bien chez moi:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$var['inter'] = array('TOTO',
                     '1',
                     '2',
                     '3',
                     '4',
                     'TITI',
                     '5',
                     '6',
                     '7',
                     '8',
                     'TATA',
                     '9',
                     '10',
                     '11',
                     '12');
 
for ($i=0; $i<count($var['inter']); $i=$i+5){
   if ($var['inter'][$i]<> "") {
         echo $var['inter'][$i]."<br>";
         echo $var['inter'][$i+1]."<br>";
         echo $var['inter'][$i+2]."<br>";
         echo $var['inter'][$i+3]."<br>";
         echo $var['inter'][$i+4]."<br><br />";      
   }
}
?>
Il m'affiche bien les groupes que je veux. Ca peut aussi venir de ta variable $_SESSION['tableau'] pour la boucle...
Edit: Mmm ça servait à rien d'ajouter ma condition vu que tu fais $i=$i+5...
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h42   #7
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
En fait le truc, c'est qu'au lieu de m'insérer les données comme je le souhaite, il ne m'insère que la dernière série et deux fois de suite. par dernière série j'entends TATA|9|10|11|12.
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h45   #8
Membre habitué
 
Avatar de gd_dev
 
Homme Giuseppe Damiani
Développeur Web
Inscription : décembre 2003
Messages : 76
Détails du profil
Informations personnelles :
Nom : Homme Giuseppe Damiani
Âge : 39
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : Service public

Informations forums :
Inscription : décembre 2003
Messages : 76
Points : 109
Points : 109
Par défaut Je pense que c'est dans la requête

Bonjours,

Le problème est dans la requête SQL

UPDATE correspondre
SET Nom_inter='".$_SESSION['inter'][$i]."',
Num_projet='".$_SESSION['code_projet']."',
jour_TR1='".$_SESSION['inter'][$i+1]."',
jour_TR2='".$_SESSION['inter'][$i+2]."',
jour_TR3='".$_SESSION['inter'][$i+3]."',
jour_TR2='".$_SESSION['inter'][$i+4]."'
WHERE Num_projet='".$_SESSION['code_projet']."';";

Il faut ajouter dans la clause where :
and Nom_inter='".$_SESSION['inter'][$i]."'
gd_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 12h09   #9
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
J'ai résolu mon problème, en fait, j'essayais de faire un UDPDATE sur des données qui n'étaient pas présentes dans le BDD. Merci tout de même de ton aide.
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h55.


 
 
 
 
Partenaires

Hébergement Web