Autor Zpráva
Gs3
Profil *
Potřeboval bych poradit s tímhle:

echo "<option value='$nacti[nick]'>$nacti[nick]</option>";

Jak zajistím aby se mě nick z value = nicku, který se zobrazí v option?

Díky za radu.
fuckin
Profil
$nick =mysql_query("SELECT * FROM uzivatele WHERE id= $id");
echo  '<option>';
while($nacti=mysql_fetch_array($nick)){
Tvuj radek // akorat $nacti['nick']
}
echo '</option>';
Gs3
Profil *
Díky moc snažil sem se to vyřešit složitě a přitom to jde jednoduše :)
Gs3
Profil *
Tak sem u toho tvýho kodu narazil na problém.
Funkčně je dobře == bez error, ale problém je v tom že se mi nic nevypíše.
Mám to prázdné. A v DB a připojení na DB problém není.
blaaablaaa
Profil
$nick =mysql_query("SELECT * FROM uzivatele WHERE id= $id");
echo  '<select>';
while($nacti=mysql_fetch_array($nick)){
   echo "<option value='".$nacti["nick"]."'>".$nacti["nick"]."</option>";
}
echo '</select>';
Gs3
Profil *
Tak už sem fakt v koncích stále se nic nevypíše. A žádnej error to neháže.
Gs3
Profil *
Tak už fakt nevím ať si s tím hraji jakkoliv tak se mě pořád ten rolovací výběr ukazuje prázdnej.
Nevíte někdo co s tím?? Dík za odpověď.
fuckin
Profil
do whilu dej kod nize, uvidis jestli mas co vypisovat. Doufam ze sis ten dotaz na db opravil podle sve db.
var_dump($nacti);


Jestli to bude prazdne tak za dotaz na db dej
mysql_query(...) or die(mysql_error());
Gs3
Profil *
Takže vyzkoušel jsem různé možnosti včetně těch co jsi uváděl.
a) vypisovat je co
b)error žádnej nevypíše

Osobně si myslím že je chyba buď v id=$id a nebo někde v tom co se má vypisovat.
Alphard
Profil
Gs3:
a) vypisovat je co
Osobně si myslím že je chyba buď v id=$id
Když je co vypisovat, chyba nemůže být ve výběrovém dotazu.

Pomohlo by, kdybyste sem výsledek toho toho var_dump zkopíroval.
Gs3
Profil *
Var_dump mi hodí toto:

resource(4) of type (mysql result)

P.S. Netykat připadám si pak moc starý :)
Alphard
Profil
Resource je v podstatě odkaz na sadu výsledků, to je teď ale k ničemu.

Měl jsi použít proměnnou $nacti, ne $nick.

$nick =mysql_query($m="SELECT * FROM uzivatele WHERE id= $id");
if (!$nick) echo "$m<br>".mysql_error();
else
while ($l = mysql_fetch_assoc ($nick))
  print_r ($l);


Nakopíruj sem výsledek tohodle.
Gs3
Profil *
Omlouvám se špatně sem to pochopil.

Výpis toho? Bohužel to nic nevypíše. Žádnej error nic jen $id sem musel dát do tohohle '$id' jinak to háže syntax error.
Gs3
Profil *
Ale když to zavolám bez toho WHERE id=$id a bez toho OPTIONU tak to vypíše seznam. Proto si myslím že je chyba někde ve funkci toho scriptu.
Alphard
Profil
Gs3:
Bohužel to nic nevypíše.
To je ten problém, takže databáze nevrací žádné výsledky pro dané id.

Ale když to zavolám bez toho WHERE id=$id a bez toho OPTIONU tak to vypíše seznam.
To je ten seznam z databáze, to je v pořádku.

Proto si myslím že je chyba někde ve funkci toho scriptu.
Nebo úplně jinde. Navázal jsem na předpochozí rádce, aniž bych přesně pochopil, čeho chceš dosáhnout. Zkus to prosím ještě jednou popsat (ve vlastním zájmu). Je zde dost nejasností, např. proč jediný řádek vypisovat cyklem atd. Klidně sem můžeš dát i příklad.
Gs3
Profil *
No vezmu to příkladem:

Takhle by to vypadalo v html:

<select name="priklad">
           <option value="priklad1">priklad1</option>
           <option value="priklad2">priklad2</option>
       </select>


No myslím že podrobněji ti to popisovat nemusím. A jde mi o to to udělat v php. Aby se mi tam dosadily z tabulky názvy. Prostě aby to bylo dynamický a né to dopisovat pořád ručně, protože pořád někdo v DB přibývá. Vím jak to zhruba udělat. Měl sem přibližně stejnou vizi jako Blaaablaaa. Můj původní dotaz byl jen pro ujasnění jak zajistit, aby se mi nick ve value rovnal nicku kterej se mi objeví na "na obrazovce". Ale bohuzel nějak to došlo k tomu že mi to vůbec nefunguje. Díky za ochotu.
Alphard
Profil
Aha, takže celý ten výmysl s id byl ztráta času :-)
Zkust to takhle:

$uzivatele = mysql_query ("SELECT * FROM uzivatele");

echo  "<select name=\"priklad\">";
while ($line = mysql_fetch_assoc($nick))
{
  echo "<option value=\"{$line['nick']}\">{$line['nick']}</option>";
}
echo "</select>";


Když správně pojmenuješ sloupce v databázi, mělo by to jít. (Já jsem použíl 'nick', přepiš dle potřeby)
Jan Tvrdík
Profil
Alphard:
Oprav si překlep $nick -> $uzivatele a pak mě smaž.
Moderátor Alphard: Díky, ale vzhledem k další diskusi to asi nechám být.
Gs3
Profil *
Už vše funguje díky za pomoc. Jen pro ty kteří by náhodou taky chtěli tento kód použít-tak si dovolím drobnou změnu v kódu jinak to nebude fungovat :)

$uzivatele = mysql_query (SELECT * FROM uzivatele);
        while ($line = mysql_fetch_assoc($nick))

To je začátek toho kódu a tam je chyba.

Řešení: $uzivatele a $nick musí být stejné.

Sice si myslím, že na to každý přijde sám, ale přece jsou mezi námi lidé, kteří v php teprve začínají.

Omluvte mě pokud sem tímto někoho urazil.

Ještě jednou díky za vyřešení.
Gs3
Profil
Ještě něco potřebuju. Nechci zbytešně zakládat nové téma tak to dávám sem.

$hodnost = mysql_query("UPDATE clenove SET hodnost WHERE nick = $nick")


Vidí tam někdo chybu?? Přes mysql_error() mě to píše chybu v syntaxi, ale nějak ji tam nemůžu objevit.
Alphard
Profil
Gs3:
Jestli je $nick řetězec, musí se použít apostrofy a hodnosti musíte nastavit nějakou hodnotu.

$hodnost = mysql_query("UPDATE clenove SET hodnost = 'neco' WHERE nick = '$nick'")
gs3
Profil *
Diky moc :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: