Autor Zpráva
Křemílek
Profil
Ahoj, mám jednoduchý select

<select name="typ" on-Change="this.form.submit();" class="zapasy_menu" id="typ">
<option selected>- vyber -</option>
<option value="HQ_FW">Headquarters FW</option>
<option value="HQ_ESL">Headquarters ESL</option>
<option value="SaD_FW">Search &amp; Destroy FW</option>
<option value="SaD_ESL_3vs3">Search &amp; Destroy ESL 3vs3</option>
<option value="SaD_ESL_6vs6">Search &amp; Destroy ESL 6vs6</option>
<option value="SaD_GZ_5vs5">Search &amp; Destroy GZ 5vs5</option>
<option value="TDM_FW">TeamDeathMatch FW</option>
<option value="TDM_ESL_1vs1">TeamDeathMatch ESL 1vs1</option>
<option value="TDM_ESL_2vs2">TeamDeathMatch ESL 2vs2</option>
</select>

(VALUE jsou nahodna, jen pro ukazku)

a potrebuji, aby se mi z databáze vypsalo to, co vyberu v menu, tzn. ze tam budou urcita kriteria pro vypis jako napr. "WHERE `LIGA` = 'ESL' AND `KOLIK_OF` = '3vs3' AND `TYP` = 'SaD'"
Nevim, jestli je to podstatné, ale udaje z databaze se mi generuji ve vnorene strance, tzn.

<html>
<body>
...
<select name="typ" ... >
...
<? include ("vypis.php"); ?> <!-- jako default je zde vygenerováno vsechno --!>
...
</body>
</html>

Budu vam moc vdecny za pomoc :-)
apofis
Profil
vždyť jsi si odpověděl.

pokud přebereš data z value např přes post (get) to je jedno tak dáš dotaz

SELECT * FROM tabulka WHERE LIGA = $_POST['data z formuláře'] to je vše.
Křemílek
Profil
teprve se s php ucim:)

ale nejak mi to nefunguje a nevim proc..

$vysledek = mysql_query("SELECT `DATUM`,`LIGA`,`SOUPER_NAZEV`,`SCORE_CELKOVE` FROM `Zapasy` WHERE = $_POST[''] ORDER BY `ID` DESC LIMIT 0,50",$db);

<form name="menu" method="post">
<select name="typ" class="zapasy_menu" id="typ" tabindex="3" lang="cs" onChange="this.form.submit();">
<option selected>- vyber -</option>
<option value="`LIGA` = 'FW' AND `TYP` = 'HQ'">Headquarters FW</option>
<option value="`LIGA` = 'ESL' AND `TYP` = 'HQ'">Headquarters ESL</option>
<option value="`LIGA` = 'FW' AND `TYP` = 'SaD'">Search &amp; Destroy FW</option>
<option value="`LIGA` = 'ESL' AND `KOLIK_OF` = '3vs3' AND `TYP` = 'SaD'">Search &amp; Destroy ESL 3vs3</option>
</select>
</form>

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /3w/wz.cz/m/maniackittens/zapasy_vypis.php on line 14

Asi mam chybu v tom $vysledku ne? Kdy v selectu na neco kliknu, tak se stranka loaduje a loaduje a nakonec naloaduje to co tam bylo predtim, tedy vsechno..

PS: SOUBOR seznam_vypis.php

<table width="766" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#F3F3F3" bgcolor="#FFFFFF">
<tr bordercolor="#7793AE" bgcolor="#DFE4EA">
<td width="65" class="zapasy_nadpis1"><div align="center">datum</div></td>
<td width="45" bordercolor="#7793AE"><div align="center" class="zapasy_nadpis2">liga</div></td>
<td width="488" bordercolor="#7793AE" class="zapasy_nadpis3">soupe&oslash;</td>
<td width="70" bordercolor="#7793AE"><div align="center" class="zapasy_nadpis2">skóre</div></td>
<td width="70" bordercolor="#7793AE"><div align="center" class="zapasy_nadpis2">detaily</div></td>
</tr>
<!-- zacatek vypisu -->
<?php
$db = mysql_connect("mysql.webzdarma.cz", "nick", "heslo");
mysql_select_db("nick",$db);
mysql_query("SET CHARACTER SET utf8");
$vysledek = mysql_query("SELECT `DATUM`,`LIGA`,`SOUPER_NAZEV`,`SCORE_CELKOVE` FROM `Zapasy` WHERE = $_POST[''] ORDER BY `ID` DESC LIMIT 0,50",$db);

while(list($datum,$liga,$souper_nazev,$score_celkove)=Mysql_fetch_arra y($vysledek)):
echo"<tr class=zapasy_radek1 onMouseOver=this.className='zapasy_radek2' onMouseOut=this.className='zapasy_radek1'>\n";
echo"<td width=65><div align=center class=zapasy_datum>$datum</div></td>\n";
echo"<td width=45><div align=center class=zapasy_liga>$liga</div></td>\n";
echo"<td width=488 bordercolor=#F3F3F3><div align=left class=zapasy_souper>$souper_nazev</div></td>\n";
echo"<td width=70><div align=center class=zapasy_skore>$score_celkove</div></td>\n";
echo"<td width=70><div align=center class=zapasy_info>info</div></td></tr>\n";
endwhile;
?>
<!-- konec vypisu -->
</table>
Křemílek
Profil
PS: seznam_vypis.php ma byt zapasy_vypis.php

a po vyberu selectu se nenaloaduje nic, jen tak chybova hlaska..
apofis
Profil
já ti nevím kdybych to psal já taky bych to napsal asi takhle (předpoklad názvy sloubců jsou malými písmeny)

<form name="menu" method="post">
<select name="typ" class="zapasy_menu" id="typ" tabindex="3" lang="cs" onChange="this.form.submit();">
<option selected>- vyber -</option>
<option value="liga = 'FW' AND typ = 'HQ'">Headquarters FW</option>
<option value="liga = 'ESL' AND typ = 'HQ'">Headquarters ESL</option>
<option value="liga = 'FW' AND typ = 'SaD'">Search &amp; Destroy FW</option>
<option value="liga = 'ESL' AND kolik_of = '3vs3' AND typ = 'SaD'">Search &amp; Destroy ESL 3vs3</option>
</select>
</form>



<?php
$co_vypsat = $_POST["typ"];
echo "$co_vypsat"; //nemusí tam být ale v takovýhlech případech se rád mrknu co mi to posílá do databáze

//definice databáze mám v souboru s názvem config.php a vkládám kde je všude potřeba databáze a nemusím nic vypisovat
// include ("config.php");
$id_spojeni = @mysql_connect($server, $uz_jmeno, $heslo);
if (!$id_spojeni)
die('<h1>Prosím omluvte potíže<br>Spojení s MySQL databází se nezdařilo<br>Server zřejmě nepracuje sdprávně<br>Prosím zkuste to za chvíli.</h1>');

$vysledek_vybrani = @mysql_select_db($database, $id_spojeni);
if (!$vysledek_vybrani)
die("<h1>Databáze $database je poškozena prosím vyčkejte nápravy</h1>.");
@mysql_query("SET CHARACTER SET utf8",$id_spojeni);

$sql = "SELECT datum,liga,souper_nazev,skore_celkove FROM zapasy WHERE $co_vypsat ORDER BY id DESC LIMIT 0,50";
$vysledek = mysql_query($sql,$id_spojeni);
if(!$vysledek)die("$sql"); //Pokud je chyba vypíše sql aby se dala najít (např vložením do phpMyAdmin sql řádku)

while($zaznam = mysql_fetch_row($vysledek)): //využívám row páč je silně rychlejší než array
echo"<tr class=zapasy_radek1 onMouseOver=this.className='zapasy_radek2' onMouseOut=this.className='zapasy_radek1'>\n";
echo"<td width=65><div align=center class=zapasy_datum>$zaznam[0]</div></td>\n"; //první záznam je 0 (datum)
echo"<td width=45><div align=center class=zapasy_liga>$zaznam[1]</div></td>\n";
echo"<td width=488 bordercolor=#F3F3F3><div align=left class=zapasy_souper>$zaznam[2]</div></td>\n";
echo"<td width=70><div align=center class=zapasy_skore>$zaznam[3]</div></td>\n";
echo"<td width=70><div align=center class=zapasy_info>info</div></td></tr>\n";
endwhile;

pokud jsem nenapsal někde překlep mohlo by to fungovat
apofis
Profil
pokud by to nevybíralo správně za příkaz $sql = ..... vlož na další řádek echo $sql; a když se ti vypíše tak mrkni do phpMyAdmin a vlož tam ten vypsaný příkaz myAdmin většinou řekne co je špatně.
Křemílek
Profil
dekuji moc na rozsahlou odpoved, podivam se na to..
Křemílek
Profil
ja nevim, asi nekde neco delam spatne, ale nevidim kde, v php se nevyznam..

<?php
$vyber = $_POST["menu"];
echo"$vyber";

$database = ("uz_jmeno");

$id_spojeni = @mysql_connect("mysql.webzdarma.cz", "uz_jmeno", "heslo");
if (!$id_spojeni)
die("<h1>Prosím omluvte potíže<br>Spojení s MySQL databází se nezdarilo<br>Server zrejme nepracuje sdprávne<br>Prosím zkuste to za chvíli.</h1>");

$vysledek_vybrani = @mysql_select_db($database, $id_spojeni);
if (!$vysledek_vybrani)
die("<h1>Databáze $database je poškozena prosím vyckejte nápravy.</h1>");
@mysql_query("SET CHARACTER SET utf8",$id_spojeni);

$sql = "SELECT DATUM,LIGA,SOUPER_NAZEV,SCORE_CELKOVE FROM Zapasy WHERE $vyber ORDER BY ID DESC LIMIT 0,50";
$vysledek = mysql_query($sql,$id_spojeni);
if(!$vysledek)die("$sql");

while($zaznam = mysql_fetch_row($vysledek)):
echo"<tr class=zapasy_radek1 onMouseOver=this.className='zapasy_radek2' onMouseOut=this.className='zapasy_radek1'>\n";
echo"<td width=65><div align=center class=zapasy_datum>$zaznam[0]</div></td>\n";
echo"<td width=45><div align=center class=zapasy_liga>$zaznam[1]</div></td>\n";
echo"<td width=488 bordercolor=#F3F3F3><div align=left class=zapasy_souper>$zaznam[2]</div></td>\n";
echo"<td width=70><div align=center class=zapasy_skore>$zaznam[3]</div></td>\n";
echo"<td width=70><div align=center class=zapasy_info>info</div></td></tr>\n";
endwhile;
?>

vypisuje mi to:

SELECT DATUM,LIGA,SOUPER_NAZEV,SCORE_CELKOVE FROM Zapasy WHERE ORDER BY ID DESC LIMIT 0,50
apofis
Profil
tak pokud ti tenhle kód vypisuje chybu tak ten příkaz "$sql" je špatně, zkontroloval jsi správné názvy, tabulek, sloupců, atd...
pokud to je ok tak mi můžeš na e-mail "mirek(zavináč)i-page(tečka)net" poslat přístup do té databáze a do souborů a já se na to mrknu on-line abych viděl jak to máš postavený protože jinek mě už nic nenapadá protože zápis kódu je OK (nebo alespoň se tak tváří)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0