|
| ti_ouf | Posté le 07/06/2005 @ 16:20 |
Astucien
4767 Messages
| Bonjour à tous
je cherche désesperement un moyen d'inserer dans une base de donnée, des valeurs multiples dans 4 champs d'une bdd.
voilà un exemple :
[code]'hello';'tu vas bien';'aujourd'hui';'????'
'hier je suis';' parti en vacance';'à la mer';'il faisait beau temps'[/code]
voici donc 2 lignes délimitées par des ";"
je scinde ces 2 lignes a chaque délimiteur";", je me retrouve avec 8 parties :
'hello'
'tu vas bien'
'aujourd'hui'
'????'
'hier je suis'
' parti en vacance'
'à la mer'
'il faisait beau temps'
j'aimerais inserer ces 8 parties dans 4 champs d'une base de donnée de telle façon que :
champs 1 |champs 2 | champs 3 | champs 4 |
1 hello | tu vas bien | aujourd'hui | ???? |
2 hier je suis | parti en vacance|à la mer| faisait beau temps|
quelqu'un a une idée?
sachant que j'aimerais enregistrer 140 lignes et donc 140/4 par champs
|
| |
| |
| Publicité |
|
|
| ledave | Posté le 07/06/2005 à 16:48 |
Petit astucien
100 Messages
| salut ti_ouf,
je ne te comprends pas bien...[triste]. D'après ce que je sait, chaque champs d'une bdd ne peut avoir qu'une valeur.
Partant de ce principe, ce que tu veux faire c'est un simple INSERT. Si tu mets ces valeurs dans un array ça donnerait:
$i = 0;
while ($i<sizeof(array)){
mysql_query("INSERT INTO tatable (champs_1, champs_2, champs_3, champs_4) VALUES ("'.array[$i].'","'.array[$i+1].'","'.array[$i+1].'","'.array[$i+1].'"));
$i = $i+4;
}
Mais je suis peut-être complètement à côté de la plaque, pourrais-tu préciser ta question?
@toute |
| |
|
| ti_ouf | Posté le 07/06/2005 à 17:55 |
Astucien
4767 Messages
| oui je me suis peut être mal expliqué!
j'ai 4 champs déjà déterminés et je veux y entrer des valeurs multiples ou si tu veux plusieurs entrées en même temps!
|
| |
|
| ledave | Posté le 07/06/2005 à 18:02 |
Petit astucien
100 Messages
| ledave a écrit :
salut ti_ouf,
je ne te comprends pas bien...[triste]. D'après ce que je sait, chaque champs d'une bdd ne peut avoir qu'une valeur.
Partant de ce principe, ce que tu veux faire c'est un simple INSERT. Si tu mets ces valeurs dans un array ça donnerait:
$i = 0;
while ($i<sizeof(array)){
mysql_query("INSERT INTO tatable (champs_1, champs_2, champs_3, champs_4) VALUES ("'.array[$i].'","'.array[$i+1].'","'.array[$i+2].'","'.array[$i+3].'"));
$i = $i+4;
}
Mais je suis peut-être complètement à côté de la plaque, pourrais-tu préciser ta question?
@toute
|
| |
|
| ledave | Posté le 07/06/2005 à 18:03 |
Petit astucien
100 Messages
| dsl, mauvaise manip.
je voulais juste changer les $i+1 à $i+1, $i+2 et $i+3.
je cherche toujours. |
| |
|
| ti_ouf | Posté le 07/06/2005 à 21:12 |
Astucien
4767 Messages
| visiblement ça vient de comment j'ai organiser mon fichier.txt
j'ai bien tout organisé et tout fonctionne bien!
parcontre tu m'as ouvert les yeux sur une façon d'inserer avec une boucle!
[code]
("'.array[$i].'","'.array[$i+1].'","'.array[$i+2].'","'.array[$i+3].'"));[/code]
|
| |
|
| ledave | Posté le 08/06/2005 à 11:37 |
Petit astucien
100 Messages
| he be tant mieux si mon post t'as quand même un peu aidé![smile]
je suppose que tu l'auras remarqué toi même, mais je me suis trompé dans l'ordre des guillemets simples et doubles: il faut bien evidement mettre les simples avant les doubles =>[code]("'.array[$i].'","'.array[$i+1].'","'.array[$i+2].'","'.array[$i+3].'"));[/code]devient[code]('".array[$i]."','".array[$i+1]."','".array[$i+2]."','".array[$i+3]."'));[/code]voila, bon coding
[hello] |
| |
|
| ti_ouf | Posté le 08/06/2005 à 16:44 |
Astucien
4767 Messages
| oui faut prendre une bonne habitude dès le départ parce que sinon on s'embrouille les ptis doigts
c'est l'histoire du $i+1 , $i+2 , $i+3 très bien, je n'y avais pas pensé. |
| |
|
|
| Haut de la page |