[tableau php/mysql]comment mettre un tableau

Fermé
bombadilom Messages postés 232 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 décembre 2012 - 7 avril 2005 à 16:59
 kij - 7 avril 2005 à 19:43
Bonjour, je voudrai savoir s'il est possible de mettre un tableau issue d'un formulaire $_post['photo'] directement dans une base mysql ou bien suis je obligé de parcourir le tableau ligne à ligne et des insérer les unes après les autres dans ma base ?

Merci de votre aide ?

1 réponse

A ma connaissance, la requete sql 'INSERT' permet, dans une même table, de faire plusieurs insdertions du type :

$query = "INSERT INTO `photo` VALUES ('val1', 'val2'),('val1','val2'), ... ";

Et ce autant que tu le souhaite, du moins je crois; Pour la syntaxe, vérifie ça doit être à peu prêt ça.

Conclusion, tu n'a qu'à faire une construction de ta requète dans un while du genre :

if(isset($_POST['photo']))
$photos = $_POST['photo'];
else
exit;

if( $photos.lenfth() == 0 )
exit;

$i = 0;
$continue = true
$query = "INSERT INTO `photo` VALUES ";
while ( $i < $photos.length() )
{
$query.= "('".$photos[$i][1]."','".$photos[$i][1]."');
if( (++$i) >= $photos.length() )
$continue = false;
else
$query .= ",";
}

// Et tu execute ta requete :
@mysql_query($query,$conn) OR die("pb insert");


Pour ce qui est du $photos.length(), c'est pas sur que ce soit le bon truc car à force de faire du java, du C, du php dans la journée je sais plus du tout.

Voilà, j'espere que ca va t'aider
@++
0
bombadilom Messages postés 232 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 décembre 2012 16
7 avril 2005 à 18:27
merci pour ta réponse. Pour ce qui est du photo.length, effectivement cela ne fonctionne pas. Mais si j'ai bien compris le sens de ton code, il suffit de compter le nombre de ligne dans mon tableau et cela c'est pas trop difficile à faire. J'essaie le reste du code et te tiens au courant.
0
kij > bombadilom Messages postés 232 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 décembre 2012
7 avril 2005 à 19:27
C tout a fait ca !
0
kij > bombadilom Messages postés 232 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 décembre 2012
7 avril 2005 à 19:43
OUps, excuse je me suis trompé à un endroi : dans le while,
ca devrai alez mieu !

while ( $continue )
{
$query.= "('".$photos[$i][1]."','".$photos[$i][1]."');
if( (++$i) >= $photos.length() )
$continue = false;
else
$query .= ",";
}


++
0