Inserare din funtia explode in baza de date

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
alexinio3d
Mesaje:96

Inserare din funtia explode in baza de date

Salutare .
Am acest cod :

Cod: Selectaţi tot

$optiunii = $_POST['optiuni'];
$optiunii = explode(",", $optiunii);
si urmatoarele optiunii separate prin virgula :

Cod: Selectaţi tot

optiune1,optiunea2,optiunea3
cum as putea sa introduc in baza de date aceste 3 optiunii dar sa aibe fiecare cate un id diferit?
eu am incercat in acest fel :

Cod: Selectaţi tot

						$sql_id = "SELECT * FROM lgsl_user_profil ORDER BY `id` DESC";
						$mysql_id = mysql_query($sql_id) or die ("Eroare : ".mysql_error());
						$id = mysql_fetch_array($mysql_id);
						$optiunii = $_POST['optiuni'];
						$optiunii = explode(",", $optiunii);
						mysql_query("INSERT INTO lgsl_profil_optiuni (`id`, `id_profil`, `optiuni`) VALUES ('', '".mysql_real_escape_string($id['id'])."', '".mysql_real_escape_string($optiunii)."')");
, dar la incrementare numi arata numa un rand nou si la coloana `optiuni` imi ramane gol campu :) .
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

MarPlo Mesaje:4343
Functia explode() returneaza un array. In baza de date se adauga valori de tip string (sir) si numere.
Cum acele 3 optiunii sa aibe fiecare cate un id diferit? Sa fie adaugate cate una pe un rand?
Daca vrei sa adaugi mai multe randuri cu Insert, se poate ca in acest exemplu, mai multe percehi de VALUES, intre paranteze separate prin virgula:

Cod: Selectaţi tot

$vals = 'optiune1,optiunea2,optiunea3';
$varr = explode(',', $vals);
$nrv = count($varr);
$ins = array();
for($i=0; $i<$nrv; $i++) {
  $ins[] = "('', '". $varr[$i] ."')";
}
$sql = "INSERT INTO `nume_tabel` (`id`, `optiuni`) VALUES ". implode(',', $ins);

// Test
echo $sql;     // INSERT INTO `nume_tabel` (`id`, `optiuni`) VALUES ('', 'optiune1'),('', 'optiunea2'),('', 'optiunea3')
 

alexinio3d Mesaje:96
Adica ca optiunea1 sa aibe id 10, optiunea2 id 11, optiunea3 id 13, si nu pot pune un numar de values pentru ca optiunile is dinamice ( adica la o intrebare pot fii 10, iar la alta pot fii 20 ) si nu pot sa pun de exemplu un numar fix de values.

Am incercat ceea ce mi-ai zis, dar mi-a inserat in baza acest lucru :

Cod: Selectaţi tot

(', ')
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

Subiecte similare