par
Sékiltoyai » 21 janv. 2008, 11:28
Tu peux voir du côté des fonctions file() et mysql_query(), et éventuellement à chaque ligne du tableau rendu par file(), exécuter une requète, mais c'est très lourd pour la connexion sql.
Donc le mieux serait de faire une seule requète pour tous les mails, et de créer une requète de cette forme :
C'est à dire que tu construis tes (…,
[email protected],…) comme une requète INSERT classique, sauf que tu les concatènes avec des , .
On peut donc imaginer un algorithme de ce style :
$lines = file(...);
$inserts = array();
for($i=0; $i<count($lines); $i++)
{
$inserts[] = '(...,' . $lines[0] . ', ...)';
}
mysql_query('INSERT INTO table VALUES' . implode(',', $inserts) . ';');
Il n'y a plus qu'à boucher les trous. Si tu as un problème avec une fonction, regarde avant tout sa documentation sur le manuel de php.net.
Tu peux voir du côté des fonctions file() et mysql_query(), et éventuellement à chaque ligne du tableau rendu par file(), exécuter une requète, mais c'est très lourd pour la connexion sql.
Donc le mieux serait de faire une seule requète pour tous les mails, et de créer une requète de cette forme :
[code]INSERT INTO table VALUES(…,
[email protected],…),(…,
[email protected],…),(…,
[email protected],…);[/code]
C'est à dire que tu construis tes (…,
[email protected],…) comme une requète INSERT classique, sauf que tu les concatènes avec des , .
On peut donc imaginer un algorithme de ce style :
[php]$lines = file(...);
$inserts = array();
for($i=0; $i<count($lines); $i++)
{
$inserts[] = '(...,' . $lines[0] . ', ...)';
}
mysql_query('INSERT INTO table VALUES' . implode(',', $inserts) . ';');[/php]
Il n'y a plus qu'à boucher les trous. Si tu as un problème avec une fonction, regarde avant tout sa documentation sur le manuel de php.net.