Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam, Mam taki problem odnośnie stworzenia inserta za pomocą wyników z pętli while.
mam:
while ($wynik = mysql_fetch_array($zapytanie)) { $dla_inserta = "$zmienna='$_POST[$zmienna]'"; echo "INSERT INTO nieruchomosci.dane_nieruchomosci1 SET $dla_inserta"; }
Jak widać pętla zwórci np 20 insertów z danymi - nazwą kolumny $zmienna i danej która wpadnie do tego rekordu $_POST[$zmienna].
INSERT..... INSERT.... INSERT.... itd.
A chodzi mi o to żeby stworzyć jednego inserta z tymi danymi po przecinku (zamiast tworzyć 20 insertów to stworzyć jednego który będzie
zawierał 20 różnych danych do dodania. ( nie zwracajcie uwagi na to że jest tam echo bo narazie po prostu go wyświetlam ).
Wiem że z INSERT musze wyskoczyć poza pętle. Ale zastanawiam się czym najprościej skonstruować zmienną zawierającą te wszystkie dane
aby poza while wrzucić:
INSERT INTO nieruchomosci.dane_nieruchomosci1 SET $dla_inserta
i będzie grało.
Wdzięczny za pomoc :)
Offline
$co_wrzucic=""; while ($wynik = mysql_fetch_array($zapytanie)) { $co_wrzucic=$co_wrzucic.", (".$_POST['$zmienna'].")"; } $query="INSERT INTO $tabela($pole) VALUES $co_wrzucic"; mysql_query($query);
siakoś tak powinno działać
Offline
Dzięki:). Ale mam jeszcze pytanie odnośnie takiego kawałka (jeżeli to nie problem):
for ($i=0; $i<500; $i++) { echo $_POST[$zmienna][$i]; }
kod wyświetla mi wszystkie zaznaczone checkboxy. I rozkminiam właśnie w jaki sposób wrzucić je wszystkie do zmiennej
poza pętlą for. W podobny sposób jak wcześniej nie chce działać.
a dokładnie chciałbym uzyskać coś takiego:
for ($i=0; $i<500; $i++) { $wszystkie_zazn_checkbox = $_POST[$zmienna][$i]; } echo $wszystkie_zazn_checkbox oddzielone jeden od drugiego znakiem " | ".
Druga sprawa to wartość 500 w pętli for (for ($i=0; $i<500; $i++)) jest wpisana na sztywno
i może trochę utrudniać życie. Więc kombinuje także nad zliczeniem zaznaczonych checkbox.
Dzięki bardzo za pomoc.
OK. Zliczanie mam. (dziwne że czasami o najprostszych rzeczach się zapomina )
$counter = 0; foreach ($_POST[$zmienna] as $value) { $counter++; } $ilosc = $counter;
Dalej jednak kombinuje z pierwszym problemem.
Ostatnio edytowany przez debbie (2014-03-19 12:07:26)
Offline
co do długości $_POST spróbuj tak
for ($i=0; $i<count($_POST); $i++){ pętla }
A co do wpisania wszytkiego w jedną zmienną:
$wszystkie_zazn_checkbox=''; for ($i=0; $i<count($_POST); $i++){ $wszystkie_zazn_checkbox=$wszystkie_zazn_checkbox.'|'.$_POST[$zmienna][$i]; }
Offline
Dzieki przeserdeczne :)))
Offline
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00012 | SET NAMES latin2 |
0.00109 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.152.26' WHERE u.id=1 |
0.00089 | UPDATE punbb_online SET logged=1715937785 WHERE ident='18.117.152.26' |
0.00050 | SELECT * FROM punbb_online WHERE logged<1715937485 |
0.00104 | DELETE FROM punbb_online WHERE ident='185.191.171.9' |
0.00088 | DELETE FROM punbb_online WHERE ident='185.97.123.33' |
0.00081 | SELECT topic_id FROM punbb_posts WHERE id=260771 |
0.00151 | SELECT id FROM punbb_posts WHERE topic_id=25453 ORDER BY posted |
0.00092 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25453 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00079 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25453 ORDER BY p.id LIMIT 0,25 |
0.00109 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25453 |
Total query time: 0.00983 s |