Špatný výsledek – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Špatný výsledek – MySQL – Fórum – Programujte.comŠpatný výsledek – MySQL – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Bryant
~ Moderátor
0
Stálý člen
29. 1. 2010   #1
-
0
-

Zdravim, potřeboval bych poradit s jistým SQL příkazem v PHP:

  $databaze_pocet = @mysql_query("SELECT * FROM `uzivatele_vzkazy` WHERE id_uzivatel='$prenos' ORDER BY id DESC");

$data_pocet = @mysql_fetch_array($databaze_pocet);
$pocet = $data_pocet[0];
$databaze2 = @mysql_query("SELECT * FROM `uzivatele_vzkazy` WHERE id_uzivatel='$prenos' ORDER BY id DESC LIMIT ".(($str-1)*$max).", $max");

problém toho příkazu je že my sice vrátí jen ty řádky, které splňují podmínku, ale ta podmínka nemá vliv na ten další atribut ORDER BY, protože ten podle mě dělá právě tu chybu že když chci výsledek použít na stránkování přes funkci ceil() tak se mi zobrazí podstránky, jako by ten příkaz říkal že se má zobrazit všechno z dané tabulky a na tu podmínku to nemá vliv

Nahlásit jako SPAM
IP: 94.138.99.–
„Bez činu zůstává i nejkrásnější myšlenka bezcennou.“
— Móhandás Karamčand Gándhí
Reklama
Reklama
KIIV+42
God of flame
29. 1. 2010   #2
-
0
-

ted cesky.. o co se snazis a co to dela?

na co mas ten druhej select, kdyz vsechny data vytahas uz tim prvnim tak jak tak?

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Bryant
~ Moderátor
0
Stálý člen
29. 1. 2010   #3
-
0
-

  <table cellpadding="0" cellspacing="1" width="90%" align="center" class="tbl-border">';

if(IsSet($_GET['strana']) && intval($_GET['strana'])){
$str = intval($_GET['strana']);
} else {
$str = 1;
}
$max = 8;
$databaze_pocet = @mysql_query("SELECT * FROM `uzivatele_vzkazy` WHERE id_uzivatel='$prenos' ORDER BY id DESC");
$data_pocet = @mysql_fetch_array($databaze_pocet);
$pocet = $data_pocet[0];
$databaze2 = @mysql_query("SELECT * FROM `uzivatele_vzkazy` WHERE id_uzivatel='$prenos' ORDER BY id DESC LIMIT ".(($str-1)*$max).", $max");

$databaze3 = @mysql_query("SELECT * FROM `uzivatele_vzkazy` WHERE id_uzivatel='$prenos'");
$data_cislo = @mysql_num_rows($databaze3);

if($data_cislo == 0){
echo'
<tr>
<td class="tbl1" align="center"><strong>Tento uživatel zatím nemá žádné vzkazy!</strong></td>
</tr>';
}else{
while ($data = @mysql_fetch_assoc($databaze2)) {
echo'<tr><td class="tbl2"><strong><a href="profil.php?id='.$data['id_autor'].'" class="a">'.barva($data['prezdivka_autor']).'</a></strong> (<i>'.$data['datum'].'</i>)</td></tr>
<tr><td class="tbl1">'.$data['text'].'</td></tr>';
}
$stranek = ceil($pocet/$max);
echo '<tr><td class="tbl2"><div align="center"><strong>Strana:</strong> ';
for($i=1;$i<=$stranek;$i++){
if($i == $str){
echo '<strong>'.$i.'</strong> ';
}else{
echo '<a href="vzkazy.php?id='.mysql_escape_string($_GET['id']).'&strana='.$i.'">'.$i.'</a> ';
}
}
echo '</td></tr>';
}
echo'
</table>


no mělo by to vypsat vzkazy daného uživatele, vzkazy to sice vypíše ale to stránkování je špatné, protože se zobrazí i odkazy na prázdné stránky, a počet stránek odpovídá celkovýmu počtu řádku v tabulce

Nahlásit jako SPAM
IP: 94.138.99.–
„Bez činu zůstává i nejkrásnější myšlenka bezcennou.“
— Móhandás Karamčand Gándhí
KIIV+42
God of flame
29. 1. 2010   #4
-
0
-

ja hlavne myslim ze:

$databaze_pocet = @mysql_query("SELECT * FROM `uzivatele_vzkazy` WHERE id_uzivatel='$prenos' ORDER BY id DESC");

$data_pocet = @mysql_fetch_array($databaze_pocet);

$pocet = $data_pocet[0];

je pomerne odvazne.. kdo vi co v tom $poctu nakonec bude...
nechtel si tam pouzit napriklad count(*) misto * ???


EDIT: resp pokud mas prvni sloupec ID tak tam bude posledni ID od toho uzivatele :D

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

Špatný program? — založil Avidius

Špatný den? — založil Garret Raziel

Spatny zapis — založil nevim

Špatný HDD — založil mates

Špatný výpis čísla — založil Ondra

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý