Pagina 1 din 1

Inserare din funtia explode in baza de date

Scris: Dum Iul 14, 2013
de alexinio3d
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 :) .

Inserare din funtia explode in baza de date

Scris: Lun Iul 15, 2013
de MarPlo
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')
 

Inserare din funtia explode in baza de date

Scris: Lun Iul 15, 2013
de alexinio3d
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

(', ')