[tableau php/mysql]comment mettre un tableau

bombadilom Messages postés 235 Statut Membre -  
 kij -
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 ?
A voir également:

1 réponse

kij
 
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 235 Statut Membre 16
 
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 235 Statut Membre
 
C tout a fait ca !
0
kij > bombadilom Messages postés 235 Statut Membre
 
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