Autor Zpráva
nightrider
Profil
Dobrý den,
řešil, ale nevyřešil jsem tady takovej problém a to je ten že nevím jak hromadně vkládat do databáze :-(
Mám elektronický obchod ve kterým se vkládají výsledky vybraných produktů do do sessionu pod id
$_SESSION[kosik]+id_produktu vše funguje jak má,ale nevím jak potom vložit všechny data do databáze pod svím id.

Snažím se toho docílit nějak takhle:
$i =$_SESSION['kosik'][$řádek['id_produktu']];
foreach ($kosik as $val){
  mysql_query('INSERT INTO objednavky jmeno values('{$val[$i]}');')
  $i++;
}


Prosím nejsem php guru a vše funguje jak má jen nevím to zapisování. Děkuju všem za radu
had
Profil *
doporučuju skládat sql dotaz a ten pak na závěr zavolat. nemusíte posílat X dotazů na databázi, ale jenom jeden.
sql by pak vypadal nějak takhle:

INSERT INTO objednavky (jmeno) VALUES (hodnota1), (hodnota2), (hodnota3) ...
nightrider
Profil
Děkuju za radu, ale stejně pořád nevím jak to mám udělat. To jsem nečekal že zrovna na tomhle skončim :-(
SwimX
Profil
[#2] =>
$query = "INSERT INTO objednavky (jmeno) VALUES ('{$_SESSION['kosik'][$řádek['id_produktu']]}') "
$i =$_SESSION['kosik'][$řádek['id_produktu']]+1;
$query = "INSERT INTO objednavky (jmeno) VALUES "
foreach ($kosik as $val){
  $query .= ", ('{$val[$i]}')";
  $i++;
}
mysql_query($query) or die(mysql_error());
nightrider
Profil
Co na to napsat? Pořád se učím, ale cyklus, proměnný a další se samozřejmě budu učit. Nejdřív dodělám shop (snad) a pak bible :-)
ninja
Profil
nightrider: nez si zacnete hrat s eshopem, session a databazi, projdete si obecne zaklady programovani. Ccyklus, podminky, promene. JInak budete stale naraz na problemy.
SwimX
Profil
nightrider
You have an error in your SQL syntax;
tak místo „mysql_query($query) or die(mysql_error());“ dej echo $query; a koukni jak vypadá ten výslednej dotaz na db.
nightrider
Profil
...
SwimX
Profil
nightrider
Echo dotazu: INSERT INTO objednavky (jmeno) VALUES ( '5,' ',')
no vidíš, to je prasečinka :)) tak si uprav to přidávání do prom query..
$query .= ", '".$val[$i]."'";
SwimX
Profil
$query = "INSERT INTO objednavky (jmeno) VALUES ('".$_SESSION['kosik'][$řádek['id_produktu']]."') ";
}
$i = $_SESSION['kosik'][$řádek['id_produktu']]."+1";
$query = "INSERT INTO objednavky (jmeno) VALUES ("; //vyhoď
nightrider
Profil
Prasečina to byla :-) upravil jsem to hned jak jsem si toho všimnul, ale ted dělá problém čárka za proměnnou
SwimX
Profil
nightrider
proto ji já, dávám dopředu
$query .= ", '".$val[$i]."'";

a první proměnou tam fláknu natvrdo
$query = "INSERT INTO objednavky (jmeno) VALUES ('".$_SESSION['kosik'][$řádek['id_produktu']]."') ";

ale ty sis tam přidal řádek:
$query = "INSERT INTO objednavky (jmeno) VALUES (";
který je navíc
nightrider
Profil
navíc byl tenhle:
$query = "INSERT INTO objednavky (jmeno) VALUES ('".$_SESSION['kosik'][$řádek['id_produktu']]."') "; // zrusen
Uz jsem kousicek :-)

Proč mi to,ale nevezme ted?
<?php require_once ('config/sql.php');
// Načíst všechny informace o produktech v košíku.
$dotaz = 'SELECT * FROM produkt';
$vysledek = mysql_query($dotaz) or print("<center><div class=\"error\"><b>Došlo k chybě v dotazu:</b> ".$q. "" .mysql_error())."</div></center>";
while ($řádek = mysql_fetch_array($vysledek, MYSQL_ASSOC)) {

$i = $_SESSION['kosik'][$řádek['id_produktu']]."+1";
$query = "INSERT INTO objednavky (id_objednavky, jmeno, prijmeni) VALUES ";
$query .= "(''";
	foreach ($kosik as $val){
	$query .= ", '".$val[$i]."'";
	$i++;
    }
}
$query .= ")";
echo "$query";
mysql_query($query) or die(mysql_error());
?>

Bez chyby, ale v košíku jsou dva produkty a zapíše jen jeden

Proč zase tohle? Jedný chyby se zbavim a druhá přilítne
Já vím = učit, učit a učit :-( nešlo by to potom co se tohle vyřeší?
tiso
Profil
nightrider - pretože si sa jednej chyby zbavil vyrobením druhej... ninja ti poradil čo máš urobiť.
nightrider
Profil
Může mi někdo prosím napsat kde mám chybu? Už týden Vás prosím o radu a nikdo kdo by to zvládl? Klidně pošlu i celej script. Pokud se na jde někdo kdo se vtom chce porejpat :-) Nešlo by udělat něco jako:
while ($řádek = mysql_fetch_array($vysledek, MYSQL_ASSOC)) {
$query = "INSERT INTO objednavky (id_objednavky, jmeno, cena) VALUES ('', '$řádek[jmeno]', '$řádek[cena]')";
}
Toto téma je uzamčeno. Odpověď nelze zaslat.