Autor Zpráva
3kolik
Profil *
Zdravím, mám problém s podmínkou. Takhle vypadá kód:

<?php
$brankar=mysql_query("select brankar from tymy where id=".(int)$_GET['tym'].);

if ($brankar='Nikdo') echo "Funguje"; 

else {echo "Stále funguje"}; 

endif;

?>


Jak jste asi pochopili tak chci, aby v případě, že se proměnná $brankar rovná slovu Nikdo, tak aby se mi napsalo funguje. Ale když to mám takhle napsané, tak mi to vypíše chybu:

Parse error: syntax error, unexpected ')' in E:\blablabla...... on line 2

Zkoušel jsem i vypsat chybu pomocí mysql_error, ale neúspěšně

Předem děkuji za pomoc.
johnl
Profil
<?php
$brankar=mysql_query("select brankar from tymy where id=".(int)$_GET['tym']);

if ($brankar=='Nikdo'){ echo "Funguje"; } else { echo "Stále funguje" };
?>

Přidal jsem k podmínce složené závorky..
panther
Profil
3kolik:
před poslední závorkou máš tečku navíc.

Ono při chybě, kdy je neočekávaná koncová závorka a ty závorky tam máš celkem dvě, se chyba hledá těžko, že?
3kolik
Profil *
Stále ta samá hláška, podle toho co se v ní píše mi přijde, že tam bude spíš nějaký problém s tou závorkou na 2. řádku.
3kolik
Profil *
panther

díky
Neználek309
Profil *
1.
id="'.(int)$_GET['tym'].'");
- je to preci napsano i v te chybove hlasce..
2. Na konci vetvi nema byt endif a pokud se vyuzijou v jedne vetvi zavorky, mely by se vyuzit i jinde, tedy i u if vetve.
johnl
Profil
3kolik:
Pokud bys ten můj kód zkopíroval celý, mělo by to jít.. ;)
3kolik
Profil *
johnl

A jo, promiň, myslel jsem, že jsi změnil jen to, co jsi označil.

Neználek309

To první tvým způsobem vůbec nefunguje a to druhé jsem nějak nepochopil.
panther
Profil
Neználek309:
- je to preci napsano i v te chybove hlasce..
apostrofy jsou u integeru zbytečné, stačilo odmazat tečku na konci.
Tori
Profil
3kolik:
Nechybí vám tam taky nějaké mysql_result nebo mysql_fetch_row?
3kolik
Profil *
Tori

Asi ano, jak je ten kód jsem psal na začátku.
3kolik
Profil *
Nějak jsem se s tím porval a uplácal toto:

<?php
$brankar=mysql_query("select brankar from tymy where id=".(int)$_GET['tym']);
if ($brankar='Nikdo')  mysql_query ("udpate tymy set brankar = '".$_SESSION["jmeno"]."' where id= ".(int)$_GET['tym'].";" );
else echo "Bla bla"
?>


Cílem je, aby v případě, že brankar=Nikdo, se hodnota brankar přepsala na jméno toho, kdo na ní klikl, čili Session Jméno.

Jenže když kliknu, tak se nic nestane. Stránka se načte, nic na ní není, ale nic se nezmění ani v mysql.
okolojdouci
Profil *
if ($brankar=='Nikdo')  mysql_query ("update tymy set brankar = '".$_SESSION["jmeno"]."' where id= ".(int)$_GET['tym'] );


Najdi tři rozdíly.
Kromě toho: na http://cz.php.net/function.mysql_query si nastuduj Example #2. Od mysql_query evidentně čekáš něco jiného, než co to ve skutečnosti dělá.
Keeehi
Profil
<?php
$brankar=mysql_result(mysql_query("select brankar from tymy where id=".(int)$_GET['tym']),0);
if ($brankar=='Nikdo')
    mysql_query ("update tymy set brankar = '$_SESSION[jmeno]' where id= ".(int)$_GET['tym']);
else
    echo "Bla bla";
?>
Tori
Profil
3kolik:
Na co vlastně potřebujete ten první dotaz? Jestli jen chcete zajistit, aby se jméno brankáře dalo nastavit pouze jednou, tak vám stačí použít jeden dotaz:
mysql_query("update tymy set brankar = '$_SESSION[jmeno]' where id= ".(int)$_GET['tym']." AND brankar = 'Nikdo'");
if (mysql_affected_rows())
  echo 'Brankář byl změněn.';
else
  echo 'Nebylo možné změnit brankáře.';
3kolik
Profil *
okolojdoucii

Na té stránce jsem hledal, ale bohužel nemám moc velkou znalost angličtiny. Popravdě nevím, co vůbec mysql_query dělá, jen jsem to měl u jednoho staženého příkladu před update tak jsem si myslel, že to tak má být.

Keeehi

Teď už se sice něco změní, jenže místo toho, aby se do brankar vložilo jméno, tak to úplně zmizí. Zkoušel jsem to i s tím řádkem co napsal okolojdouci a dopadlo to stejně

Tori

Nene, chci to tak, aby bylo možné tým opustit a aby tam potom mohl přijít někdo jiný.
Keeehi
Profil
3kolik:
brankar vložilo jméno, tak to úplně zmizí
Tak asi v době vkládání není v $_SESSION["jmeno"] nic. Aby jste zjistil, co je v tédobě v té proměnné umístěte před ten dotaz var_dump($_SESSION["jmeno"]);
3kolik
Profil *
No jo, na tom něco bude, píše to NULL. Zkusil jsem si odhlásit a přihlásit a stále NULL. Tak teď už tedy vážně nevím
Keeehi
Profil
3kolik:
No my to taky nevíme. A bez dalších informací ani vědět nebudeme.
3kolik
Profil *
No, co by jste ještě potřebovali vědět ?
Keeehi
Profil
3kolik:
Je evidentní, že je problém v session, jenže nikde nic nenastavuješ. Takže by to chtělo ty části, kde se session vyskytuje.
3kolik
Profil *
No, sessions jsem nikde nijak nenastavoval.
panther
Profil
3kolik:
nikde je nenastavuješ, přesto je používáš
3kolik
Profil *
Tak v tom asi vězí =D Děkuji

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:

0