Autor Zpráva
pcmanik
Profil
Zdravim potrebujem zistit ci v tabulke v urcitom stlpci je nieco napisane alebo nieje.

Davam konkretny sql dotaz

SELECT kartel FROM uzivatelia WHERE id='{$_SESSION['id']}'


A teraz potrebujem spravit podmienku ze ak tam nieco je tak napise napr vyplnene a ak tam nic neni napise nevyplnene a vazne nwm ako to mam spravit
radvis
Profil *
mužeš napsat celý řádek? Může to být třeba takhle:

$query = mysql_query("SELECT kartel FROM uzivatelia WHERE id='{$_SESSION['id']}' ");
 if($query){
   echo "užuvatel tu je";
 }else{
  echo "uživatel tu není";
 }
pcmanik
Profil
jj presne to myslim avsak vzdy to vypise uzivatel tu je aj ked v tom stlpci nieje nic vyplnene a ja to potrebujem tak spravim ze ked tam nic nebude tak to napise ze uzivatel tu neni.

resp. mam taky kod na to ale akosi to nechce fungovat

if(mysql_result($vysledok,0,5)) {
   header("Location:http://$HTTP_HOST/hra/index.php");
}
else {
 echo "<center>";
 echo "Tu si mozete vytvorit novy kartel";
 echo "<br>";
 echo "<br>";
 echo "<form method=\"post\" action=\"novy_kartel.php\">";
 echo "<input name=\"kartel\" value=\"\" type=\"text\">";
 echo "<br>";
 echo "<br>";
 echo "<INPUT type=\"submit\" value=\"Vytvoriť\">";
 echo "</form>";
 echo "</center>";
 }


a takto mam tabulku ak to pomoze


`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`meno` VARCHAR( 10 ) NOT NULL ,
`heslo` VARCHAR( 10 ) NOT NULL ,
`email` VARCHAR( 30 ) NOT NULL ,
`spolocnost` VARCHAR( 20 ) NOT NULL ,
`icq` VARCHAR( 15 ) NOT NULL ,
`kartel` TEXT NOT NULL ,
`info` TEXT NOT NULL


Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).

Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
__construct
Profil
Za prvý kód dávaj do Ctrl+E
Za druhé neviem ako súvisí tá MySQL tabuľka ten tvoj formulár a už vôbec ten prvý príspevok ..
pcmanik
Profil
Napíšem to sem všetko polopate. Pracujem na jednej webovej hre v php.
Mam vytvorenu tabulku uzivatelia

`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`meno` VARCHAR( 10 ) NOT NULL ,
`heslo` VARCHAR( 10 ) NOT NULL ,
`email` VARCHAR( 30 ) NOT NULL ,
`spolocnost` VARCHAR( 20 ) NOT NULL ,
`icq` VARCHAR( 15 ) NOT NULL ,
`kartel` TEXT NOT NULL ,
`info` TEXT NOT NULL


A teraz mám stránku kartel kde chcem zistiť či už užívateľ je v nejakom karteli alebo nieje.
V tom prípade, ak je by som mu vypísal nejaké informácie o tom karteli, to teraz, ale nieje podstatne a v kóde to označím ako INFO O KARTELI.
Ale ak nieje tak by som mu dal jednoduchý formulár kde by zadal názov nového kartela.

Takýto skript som si spravil, ale nechce fungovať. - kvôli prehľadnosti odrežem začiatok s pripojením k db a so sessions.

$vysledok = mysql_query("SELECT * FROM uzivatelia WHERE id='{$_SESSION['id']}'");
if (!$vysledok) {
    die('Problem s databazou.');
	exit();
}
else {
if(mysql_result($vysledok,0,5)) {
  INFO O KARTELI
}
else {
 echo "<center>";
 echo "Tu si mozete vytvorit novy kartel";
 echo "<br>";
 echo "<br>";
 echo "<form method=\"post\" action=\"novy_kartel.php\">";
 echo "<input name=\"kartel\" value=\"\" type=\"text\">";
 echo "<br>";
 echo "<br>";
 echo "<INPUT type=\"submit\" value=\"Vytvoriť\">";
 echo "</form>";
 echo "</center>";
 }
 }


Dúfam, že som to dostatočne vysvetlil a ospravedlňujem sa za nepoužitie kódu v pre...
radvis
Profil *
Tak tomu nerozumím.
__construct
Profil
Čo sa týka toho skriptu tak ja tam nejakú zásadnú chybu nevidím ..
inak to exit(); môžeš vymazať - die(); bohate stačí ..
jediné čo ma napadá je použitie num_rows ..
$pocet_riadkov = mysql_num_rows($vysledok);

a potom namiesto podmienky !$vysledok daj:
if($pocet_riadkov > 0)
pcmanik
Profil
uz som to vyriesil mozete to tu delete
AM_
Profil
pcmanik:
uz som to vyriesil mozete to tu delete
Vyřešená témata se nemažou, raději jsi měl napsat, jak jsi to vyřešil, třeba se to jednou někou bude hodit.

[#2] radvis
Toto nebude dělat to, co jsi myslel. mysql_query() vrací mysql resource při úspěchu (úspěch je i úspěšné vyzvednutí 0 řádků) a false při chybě (prázdný výsledek dotazu rozhodně není chyba). Tím spíše mysql_query() nevrací přímo hodnotu prvního sloupce na prvním řádku výsledku.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0