k databázi se připojim ale co dal?
7 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
dělám zatim zkušebně databázi tanečníku pro jeden web... potřebbuji pomoct...! mam v php napsany zdrojak se vsim vsudy k databazi se to pripoji ale napise to "Zadanému kritériu nevyhovuje žádná tanečnice" coz mam ve funkci else.. :-/ Mohl by jste mi nekdo pomoct? cim asi by to mohlo byt? :-/ p.s.: tabulka v databazi je tanec (z te chci brat data) zde je cast zdrojaku <? do { @$spojeni = mysql_connect("mysql.webzdarma.cz", "databaze", "heslo"); // připojení k databázi if (!$spojeni): echo "Nepodařilo se připojit k databázi.\n"; break; endif; if ($Jmeno!="") $Podminka = "WHERE Jmeno LIKE '".AddSlashes($Jmeno)."%'"; else $Podminka = ""; if ($orderby!="") $OrderBy = "ORDER BY $OrderBy"; else $OrderBy = "ORDER BY Jmeno"; mysql_select_db("tanec"); @$vysledek = mysql_query($spojeni, "SELECT * FROM tanec"); if (!$vysledek): echo "Zadanému kritériu nevyhovuje žádná tanečnice (žádný tanečník).\n"; break; endif; // záhlaví tabulky pro výsledky echo "<table border=0 cellspacing=0 cellpadding=4>\n"; echo "<tr bgcolor=teal valign=top>\n"; echo "<th rowspan=2>".TlacitkoProRazeni("OsobniCislo", "Osobní")."<br>číslo</th>\n"; echo "<th rowspan=2>".TlacitkoProRazeni("Jmeno", "Jméno")."</th>\n"; echo "<th colspan=2>".TlacitkoProRazeni("Prijmeni", "Prijmeni")."</th>\n"; echo "<th colspan=2 rowspan=2>"; if (mysql_Num_Rows($vysledek)!=-1) echo "Počet zobrazených <br>záznamů: ".mysql_Num_Rows($vysledek); echo "</th></tr>\n"; echo "<tr bgcolor=teal>\n"; echo "<th>".TlacitkoProRazeni("Jak_dlouho", "Jak_dlouho")."</th>\n"; echo "<th>".TlacitkoProRazeni("Email", "Email")."</th>\n"; echo "</tr>\n"; $i = 0; // čítač řádků tabulky while(mysql_fetch_row($vysledek)): if (($i%2)==1) echo "<tr valign=top bgcolor=silver>"; else echo "<tr valign=top>"; //vypsání jednoho záznamu tabulky $OC = mysql_result($vysledek, "OsobniCislo"); echo "<td rowspan=2 align=center>ŁOC</td>"; echo "<td rowspan=2>".mysql_Result(vysledek, "Jmeno")."</td>"; echo "<td colspan=2>".mysql_Result(vysledek, "Prijmeni")."</td>"; echo "<td colspan=2 align=center>"."<a href='odber.php?oc=$OC'>Svereni odberatele </a></td>"; //odkaz pro prohlížení odberatelu echo "</tr>"; if (($i%2)==1) echo "<tr valign=top bgcolor=silver>"; else echo "<tr valign=top>"; echo "<td>".mysql_Result($vysledek, "Jak_dlouho")."</td>"; echo "<td align-right>".mysql_Result($vysledek, "Email")."</td>"; echo "<td align=center>"."<a href='smazat.php?oc=$OC'>Smazat</a></td>"; //odkaz pro mazani zaznamu echo "<td align=center>"."<a href='upravit.php?oc=$OC'>Upravit</a></td>"; //odkaz pro upravu zaznamu $i++; //aktualizace citace endwhile; echo "</table>\n"; //konec tabulky } while(false); ?>
-
imho ti tam chybi volani mysql_select_db("databaze"); btw: k cemu jsou ty $OrderBy a $Podminka, kdyz to tam nikde nepouzivas?
-
to mi poradil kamos ;-( (jak uz sem rek zacatecnik)... zkusim to dik moc ;-)
-
sakra porad to nefunguje :-( pridal sem prikaz mysql_select_db() ale i tak mi to pise ze zadanemu kriteriu nevyhovuje ........ mam databazi rokerkony a tabulku v ni s nazvem tanec... :-/ jak mam udelat aby to cerpalo data z ty tabulky? :-( plssss!
-
Za prvy mas spatne @$vysledek = mysql_query($spojeni, "SELECT * FROM tanec"); Musis obratit parametry a zavinac dat (kdyz uz ho tam chces mit) pred mysql_query, tj.: $vysledek = @mysql_query("SELECT * FROM tanec", $spojeni); Za druhy: kdyz takhle spojujes retezce do vyslednyho dotazu, dej si bacha, aby byly mezery tam, kde maji byt. Tj.: $Podminka = "WHERE Jmeno LIKE '".AddSlashes($Jmeno)."%'"; je špatně. Správně: $Podminka = " WHERE Jmeno LIKE '".AddSlashes($Jmeno)."%'"; (mezera pred WHERE !). To samy udelas s $OrderBy = "ORDER BY $OrderBy"; ==> $OrderBy = " ORDER BY $OrderBy"; a $OrderBy = "ORDER BY Jmeno"; ==> $OrderBy = " ORDER BY Jmeno"; Dalsi vec je konstrukce (zkracene) while(mysql_fetch_row($vysledek)): ... $OC = mysql_result($vysledek, "OsobniCislo"); ... endwhile; Ja bych to napsal jako: while($row = mysql_fetch_array($vysledek); ... $OC = $row['OsobniCislo']; ... endwhile;
-
Ono když je člověk začátečník, je nejlepší si koupit nějakou brožuru pro začátečníky. Docela to pomáhá (vím z vlastní zkušenosti ;o))
-
jeste oprava: na patym radku od konce ma bejt jedna uzaviraci zavorka navic, a taky dvojtecka, a ne strednik, tj. while($row = mysql_fetch_array($vysledek)):