Autor | Zpráva | ||
---|---|---|---|
TomasRe Profil |
#1 · Zasláno: 10. 6. 2015, 20:13:49 · Upravil/a: TomasRe
Můžete prosím někdo poradit? V tabulce mám výpis z databáze, kde se dá měnit proměnná, tu bych chtěl uložit do session, ale bohužel se mi to nějak nedaří... Kód ve zkratce:
<?php session_start(); foreach($_POST['abc'] as $id => $abcde) {$vysledek = mysql_query("SELECT * FROM table WHERE id=$id"); while ($zaznam = mysql_fetch_array($vysledek)) {$_SESSION['abcde'][$zaznam['$id']]==$abcde['id'];} } echo "<select name='abc[".$zaznam['id']."]'>"; ?> TomasRe: Aha, tak už jsem na to přišel :-) $_SESSION['abc'][$zaznam['id']]=$_POST['abc'][$zaznam['id']] |
||
lionel messi Profil |
TomasRe:
Na riadku 6 vidím 1 chybu: Operátor == znamená porovnanie, v tomto kontexte je však potrebné priradenie, čiže operátor = .
Správne má teda cyklus vyzerať takto: while ($zaznam = mysql_fetch_array($vysledek)) {$_SESSION['abcde'][$zaznam['$id']] = $abcde['id'];} |
||
petr 6 Profil |
#3 · Zasláno: 10. 6. 2015, 22:58:43
lionel messi:
„Prebytočná zátvorka na vyznačenom mieste“ Žádná přebytečná závorka tam není. TomasRe: Nějak nechápu, čeho chceš docílit. Proměnná $zaznam['$id'] je rovna klíči z pole $_POST['abc'] , takže do session přiřazuješ hodnoty z post, tudíž dotaz na databázi tam nepotřebuješ, resp. dotaz na databázi ti tam slouží jen k tomu, abys zjistil, zda existuje řádek s daným id, což se dá samozřejmě udělat lépe.
Navíc si nejsem jistý, jestli nemáš řádek s echo vně cyklu foreach omylem, nebo je to úmysl. |
||
lionel messi Profil |
#4 · Zasláno: 10. 6. 2015, 23:42:14
petr 6:
> lionel messi: > „Prebytočná zátvorka na vyznačenom mieste“ > Žádná přebytečná závorka tam není. Pardon, opravené. |
||
Kubo2 Profil |
#5 · Zasláno: 11. 6. 2015, 00:12:48
lionel messi:
„Správne má teda cyklus vyzerať takto:“ Ja tam vidím ešte jednu chybu, a to je $zaznam['$id'] ; pravdepodobne má byť $zaznam[$id] .
|
||
snazimse Profil |
#6 · Zasláno: 11. 6. 2015, 22:47:55
Kubo2:
Tuším, že se to dá zapsat i takto $zaznam["$id"]; , ale nelíbí se mi to.
|
||
Kubo2 Profil |
#7 · Zasláno: 12. 6. 2015, 19:21:47
snazimse:
„Tuším, že se to dá zapsat i takto $zaznam["$id"]; , ale nelíbí se mi to.“
Áno, ale substitúcia funguje iba v zložených úvodzovkách ( " ), v jednoduchých (' ) nie. Pokiaľ však ide iba o dosadenie hodnoty premennej $id ako reťazcového kľúča, použitie substitúcie je celkom zbytočné.
Mimochodom, ten prístup do poľa sa dá zapísať naozaj viacerými rozmanitými či divnými spôsobmi, jeden z nich, čo si teraz spomeniem, je napríklad $zaznam{$id} .
|
||
Časová prodleva: 9 let
|
0