| Autor | Zpráva | ||
|---|---|---|---|
| Holicz Profil |
#1 · Zasláno: 16. 11. 2011, 19:21:19
Zdravím. Mám kód
<? $data1=mysql_query("SELECT * FROM clanky");
while ($data=mysql_fetch_array($data1))
{
// Nějaký kód
}
$pocet_radku = mysql_num_rows($data1);
echo $pocet_radku;
?>V databázi je jeden článek, ale podle PHP žádný. Kde je chybka? Předem děkuji .. |
||
| Kry5 Profil |
#2 · Zasláno: 16. 11. 2011, 20:37:51
Nepřepisuješ třeba někde v tom while proměnnou $data1 na něco jiného? Zkus si dát
var_dump($data1); před a za cyklus. |
||
| Holicz Profil |
#3 · Zasláno: 16. 11. 2011, 21:29:23 · Upravil/a: Holicz
Před cyklem resource(4) of type (mysql result)
Za cyklem - resource(4) of type (mysql result) |
||
| rubab Profil * |
#4 · Zasláno: 17. 11. 2011, 20:23:12
snad je patrné, že to máš mimo cyklus while
tedy: <? $data1=mysql_query("SELECT * FROM clanky"); while ($data=mysql_fetch_array($data1)) { $pocet_radku = mysql_num_rows($data1); echo $pocet_radku; } ?> |
||
| okolojdouci Profil * |
#5 · Zasláno: 17. 11. 2011, 20:26:02
rubab:
„snad je patrné, že to máš mimo cyklus while“ Patrné to je a je to v pořádku, mysql_num_rows nemá uvnitř cyklu co dělat. |
||
| rubab Profil * |
#6 · Zasláno: 17. 11. 2011, 20:29:47
pak tedy takto:
$data1 = mysql_query("SELECT * FROM clanky", $link); $pocet_radku = mysql_num_rows($data1); |
||
| rubab Profil * |
#7 · Zasláno: 17. 11. 2011, 20:30:47
v $link pak bude mysql_connect bla bla bla
|
||
| rubab Profil * |
#8 · Zasláno: 17. 11. 2011, 20:31:11
tady to máš z manuálu:
<?php $link = mysql_connect("localhost", "mysql_user", "mysql_password"); mysql_select_db("database", $link); $result = mysql_query("SELECT * FROM table1", $link); $num_rows = mysql_num_rows($result); echo "$num_rows Rows\n"; ?> |
||
| DarkMeni Profil |
#9 · Zasláno: 17. 11. 2011, 22:17:56
//Máš před tím nějaký kód?
//Jestli ne tak to bude tím že nejsi připojený k databázi, a jestli ano a jsi připojený tak zkus:
<?php $data1=mysql_query("SELECT * FROM `clanky`") or die(mysql_error());
while ($data=mysql_fetch_array($data1))
{
// Nějaký kód
}
$pocet_radku = mysql_num_rows($data1);
echo $pocet_radku;
?>
I když je <? snad stejný jako <?php tak s tim druhým zápisem by bylo hned jasný že jde o php skript, pak ty divný úvozovky slouží pro názvy v sql příkazu, kdyby jsi měl sloupec třeba table a chtěl ho vybrat tak by to neprošlo ale s `table` by to už prošlo a ta posledí úprava ti oznámí jestli je tam přece jen nějaká chyba (ale zbytek skritpu se neprovede jestli tam nějaka bude). |
||
| Holicz Profil |
#10 · Zasláno: 17. 11. 2011, 22:57:24
DarkMeni:
Před tím mám jen HTML hlavičku (a začátek body atd..), nějaké DIVy ke stylu a připojení k databázi (include) K databázi připojen jsem, protože daný článek se vypíše. Za první 2 rady děkuji, rád jsem se poučil No a nakonec.. Mysql_error nic nevypsal. Ps. ta poznámka " // Nějaký kód " ... Tam je příkaz pro vypsání článků |
||
| DarkMeni Profil |
#11 · Zasláno: 18. 11. 2011, 09:35:13
Tak potom už mě napadá jen jestli to nebude náhodou tím že je to až po vytáhnutí všech řádků (mysql_fetch_(assoc nebo array nebo to třetí)), napadá mě že tím jak ten řádek třeba tou funkcí uložíš do jiné proměnné tak se z té ve které je uložený výsledek smaže, ale to mě jen tak napadá takže se dá zkusit tu proměnnou s počtem řádků nastavit ještě před vypisováním článků.
<?php
$data1 = mysql_query("SELECT * FROM `clanky`") or die(mysql_error());
$pocet_radku = mysql_num_rows($data1);
if($pocet_radku > 0){
while($data = mysql_fetch_array($data1)){
//Nějaký kód
}
echo "Celkový počet článků: $pocet_radku";
}else{
echo "Nebyl nalezen žádný článek.";
}
Jestli nezabere ani tohle tak pak to bude zajímavý. |
||
| Holicz Profil |
#12 · Zasláno: 18. 11. 2011, 18:02:17
V kódu od vás byla ještě chybka, ale už mi to šlape. Pro ty, kteří by měli stejný problém je výsledný kód zde
$data1 = mysql_query("SELECT * FROM `clanky`") or die(mysql_error());
$pocet_radku = mysql_num_rows($data1);
if($pocet_radku > 0){
while($data = mysql_fetch_array($data1))
{
// Kód pro výpis článků
}
echo "Celkový počet článků: $pocet_radku";
}
else{
echo "Nebyl nalezen žádný článek.";
} |
||
|
Časová prodleva: 14 let
|
|||
0