Autor Zpráva
Mr.Q
Profil *
Dobry den, zajimalo by me, jak docilit vypsani posledniho zaznamu z databaze treba na uvodni stranku ?

Napr. nekdo prida video trailer, a chtel bych aby se to ukazalo na hlavni strance ( nejlepe odkaz na nej ) a zobrazil by se tam nazev ktery uzivatel zadal do databaze, zda je to mozne. Dekuji za pomoc.
xmark
Profil
A co zkusit hledat, než se zeptáš?
kokolino
Profil *
Mr.Q:
neviem ako vyzerá tvoja tabuľka z ktorej to vyberáš takže si to prispôsob

<?php
//tvoje pripojenie k DB


$result=mysql_query($a="select id,nazov from tvoja_tabulka order by id desc limit 1 ") or print ("chyba <br>".$a."<br>".mysql_error());
while($row=mysql_fetch_array($result))
	{
	 echo"$row[nazov]";	
	}

?>


túto časť si dáš do úvodnej stránky.
Mr.Q
Profil *
<?php
  $query = mysql_query($sql, $spojeni);

$result=mysql_query($a="select id,nazev from prispevek order by id desc limit 1 ") or print ("chyba <br>".$a."<br>".mysql_error());
while($row=mysql_fetch_array($result))
    {
     echo"$row[nazov]";    
    }

?>
takto jsem to použil, a hází to chybu

chyba
select id,nazev from prispevek order by id desc limit 1
Table 'warez_sitecz.prispevek' doesn't exist
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/htdocs/warez_sitecz/www/index.php on line 26
Alphard_
Profil *
Mr.Q:
Použil jste neexistující tabulku, co s tím máme udělat my? Vytvořit vám ji?

Ten cyklus je k ničemu.
Mr.Q
Profil *
Dobře to se omlouvám, přepsal jsem se, ale když jsem to teď opravil, nenapíše to žádnou chybu ani se nic nevypíše.
Mr.Q
Profil *
Ok, po úpravě to již funguje.


<?php
  $query = mysql_query($sql, $spojeni);

$result=mysql_query($a="select id,nazev from prispevky order by id desc limit 1 ") or print ("chyba <br>".$a."<br>".mysql_error());
while($row=mysql_fetch_array($result))
    {
     echo"$row[nazev]";    
    }

?>
šlo by ještě nějak nastavit že by to bylo jako odkaz ?
Mr.Q
Profil *
Promiňte že toho píšu tak najednou, ale zkusil jsem to takto, a když to tam zadám, tak záznam zmizí.

<?php                                                              
  $query = mysql_query($sql, $spojeni);

$result=mysql_query($a="select id,nazev from prispevky order by id desc limit 1 ") or print ("chyba <br>".$a."<br>".mysql_error());
while($row=mysql_fetch_array($result))
     echo "<a href=\"prispevek.php?id=".$pole[$i]->id."\">".$pole[$i]->nazev."</a>";   
    {
     echo"$row[nazev]";     
    }

?>
Keeehi
Profil
Mr.Q:
Trochu zapojit rozum okolo řádků 5-7.
Mr.Q
Profil *
Můj rozum jede na 190%, kdybych věděl nezeptám se. Jsem začátečník a jsem rád, že se mi podařilo to vůbec rozjet. Tak prosím, kde je chyba ?
Keeehi
Profil
Jelikož vypisuješ jenom jeden záznam, cyklus while není vůbec potřeba.
Řádek 6 je sice syntakticky správně (když pominu to, že rozbíjí syntaxi cyklu,proto to nefunguje, ale jelikož cykluspřijdeodstranit, tak je to jedno), ale nechápu, kde se bere ta proměnné $pole. To máš už někde z dřívějška?

$dotaz = "SELECT id, nazev FROM prispevky ORDER BY id DESC LIMIT 1";
$vysledek = mysql_query($dotaz) or print ("chyba <br>".$dotaz."<br>".mysql_error());
$row = mysql_fetch_array($vysledek);
echo "<a href=\"prispevek.php?id=".$pole[$i]->id."\">".$pole[$i]->nazev."</a>";   
echo $row["nazev"];
Mr.Q
Profil *
Ano to $pole už mám z dřívějška. a Díky moc
Mr.Q
Profil *
Stejně to ale nefunguje sakra :(.Neudělá to nic.
Keeehi
Profil
Mr.Q:
Tak si povol vypisování chybových hlášek. Zjevně to nemáš povoleno a někde máš asi syntaktickou chybu.
error_reporting(E_ALL);
Mr.Q
Profil *
Když to tam vložím stejně se nic nestane. Někde je chyba a nevím kde :(
Mr.Q
Profil *
nemůže to být tímhle ?

echo "<a href=\"prispevek.php?id=".$pole[$i]->id."\">".$pole[$i]->nazev."</a>"; 


že by tam to pole vůbec nebylo a bylo něco jiného ? pokud ano tak už fakt nevím co :(
Keeehi
Profil
Mr.Q:
nemůže to být tímhle ?
To zjistíš tak, že ten řádek smažeš a když to začne fungovat, tak to bylo tím řádkem.

Dal jsi ten error_reporting na začátek souboru? Pokud to nepomůže, zkus případně přidat ještě ini_set("display_errors", 1);
Mr.Q
Profil *
ano dal a ani toto nic neukáže. Už se mi podařilo dát to jako odkaz takto :

<?php                                                                               
  $query = mysql_query($sql, $spojeni); 
$result=mysql_query($a="select id,nazev from prispevky order by id desc limit 1 ") or print ("chyba <br>".$a."<br>".mysql_error()); 

echo "<a class=\"new_post\" href=\"prispevek.php?id=".$result[0]."\">";

while($row=mysql_fetch_array($result)) 
    {
     echo"$row[nazev]";     
    }

?> 


jenže se stejně nevypíše ID toho odkazu takže to přehodí jen na www.neco.cz/prispevek.php?id=(toto ID potřebuji aby to vypisovalo )
js
Profil *
zkus
<?php                                                                               
  $query = mysql_query($sql, $spojeni); 
$result=mysql_query($a="select id,nazev from prispevky order by id desc limit 1 ") or print ("chyba <br>".$a."<br>".mysql_error()); 

while($row=mysql_fetch_array($result)) 
    {
     echo "<a href=\"prispevek.php?id=".$row["id"]."\">".$row["nazev"]."</a>";  
    }

?> 
Mr.Q
Profil *
js, díky moc !! Funguje to. Máš to u mě.
Mr.Q
Profil *
Ještě dotaz, když chci vypsat třeba 10 odkazů místo 1, šlo by nějak nastavit aby se každý oddělil třeba lomítkem nebo aby měl každý druhý jinou velikost nebo font ?
kokolino
Profil *
Mr.Q:
počet vypísaných záznamov z DB ovplivňuje limit , takže ak chceš 10 odkazov daj si tam limit 10
Mr.Q
Profil *
To je mi jasné, ale chci aby každý druhý záznam měl jinou velikost nebo barvu, jde to nějak ?
Keeehi
Profil
Bude se měnit css třída.
$barva=true;
while($row=mysql_fetch_array($result)) 
    {
     echo "<a href=\"prispevek.php?id=".$row["id"]."\" class=\"".($barva?"prvni_barva":"druha_barva ")."\">".$row["nazev"]."</a>";
     $barva=!$barva;
    }
Mr.Q
Profil *
Děkuji :)
Mr.Q
Profil *
Takže tu mám problém, zkusil jsem přidat do databáze záznam, a nevypíše se tam jako nový ( přitom posledních 10 to vypíše ), ale jinak to obarvení také funguje jak má.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: