Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

problema cu parametrul LIMIT intr-o interogare
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Subiectul anterior :: Subiectul următor  
Autor Mesaj
meetzah



Data înscrierii: 17/Ian/2006
Mesaje: 16

Trimis: Mie Apr 30, 2008 9:05 pm    Titlul subiectului: problema cu parametrul LIMIT intr-o interogare  

Salut.

Am urmatorul cod: Cod: SELECT sid, title FROM stories WHERE catid='$catid' ORDER BY sid DESC LIMIT 0,5
As vrea sa pun la LIMIT o variabila, astfel incat sa am Cod: SELECT sid, title FROM stories WHERE catid='$catid' ORDER BY sid DESC LIMIT $variabila,5

Din pacate nu functioneaza. Din cate am gasit pe net se pare ca MySQL nu suporta adaugarea unei variabile in acest loc. Mi se pare totusi greu de crezut.


Mihai
Sus  
bruzli



Data înscrierii: 17/Oct/2005
Mesaje: 74
Locație: Oradea

Trimis: Mie Apr 30, 2008 11:12 pm    Titlul subiectului:  

Mysql nu are de unde sa stie ca tu pui acolo o variabila, php interpreteaza string-ul tau.

Da un print la sql sau la $variabila, probabil nu contine ce trebuie.
Sus  
meetzah



Data înscrierii: 17/Ian/2006
Mesaje: 16

Trimis: Joi Mai 01, 2008 11:31 am    Titlul subiectului:  

1. $variabila contine ce trebuie in mod sigur, pentru ca i-am dat echo in pagina si imi afiseaza exact ce vreau
2. MySQL stie ca pun variabila acolo, pentru ca tot variabila se pune si mai devreme in interogare: ...WHERE catid='$catid'... si acolo o intelege.
Sus  
Quber



Data înscrierii: 27/Iun/2006
Mesaje: 781
Locație: localhost

Trimis: Joi Mai 01, 2008 11:33 am    Titlul subiectului:  

pune aici ce error iti da ca noi sa ne uitam.!

Cod:
SELECT sid, title FROM stories WHERE catid='" . $catid . "' ORDER BY sid DESC LIMIT " . (int)$variabila . ",5
Sus  
meetzah



Data înscrierii: 17/Ian/2006
Mesaje: 16

Trimis: Joi Mai 01, 2008 11:50 am    Titlul subiectului:  

Nu imi afiseaza nici o eroare. Pur si simplu, nu imi afiseaza nici un rezultat la interogare :(
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 1381
Locație: Sibiu

Trimis: Joi Mai 01, 2008 11:55 am    Titlul subiectului:  

Posteaza exact codul in care construiesti query-ul si il pasezi spre mysql. Poate gresesti acolo ceva.
Sus  
meetzah



Data înscrierii: 17/Ian/2006
Mesaje: 16

Trimis: Joi Mai 01, 2008 11:59 am    Titlul subiectului:  

Cod: $sql_firme4 = "SELECT sid, title FROM stories WHERE topic='$topic' ORDER BY sid DESC LIMIT 0,5";
$result_firme4 = $db->sql_query($sql_firme4);
while (list($sid, $title_jos) = $db->sql_fetchrow($result_firme4)) {
$Related3 .= "<a href=\"http://www.e-oferta.ro/article$sid.html\">$title_jos</a><br>";
}

vreau sa bag variabila $sid sus, la LIMIT.
variabila $sid este definita mai sus, in document
Sus  
Quber



Data înscrierii: 27/Iun/2006
Mesaje: 781
Locație: localhost

Trimis: Joi Mai 01, 2008 12:11 pm    Titlul subiectului:  

@meetzah, ce sa intimplat cu tine..? cum poti sa bagi o variabila care inca nu o stii? cum sa afli variabila pe urma sa faci selectul..? Sper ca nu te ai gindit mult pina a spune asta..!
Sus  
meetzah



Data înscrierii: 17/Ian/2006
Mesaje: 16

Trimis: Joi Mai 01, 2008 12:15 pm    Titlul subiectului:  

Scuze, nu am fost atent. era de fapt $sid2 in interogare, nu $sid.
Am dat echo la $sid2 inainte de a intra in interogare si se afiseaza pe pagina, totusi, in interogare pare sa nu tina seama de el.

interogarea as vrea sa fie deci asa:
Cod: $sql_firme4 = "SELECT sid, title FROM stories WHERE topic='$topic' ORDER BY sid DESC LIMIT $sid2,5";
$result_firme4 = $db->sql_query($sql_firme4);
while (list($sid, $title_jos) = $db->sql_fetchrow($result_firme4)) {
$Related3 .= "<a href=\"http://www.e-oferta.ro/article$sid.html\">$title_jos</a><br>";
}
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 535
Locație: Drobeta Turnu Severin

Trimis: Joi Mai 01, 2008 4:26 pm    Titlul subiectului:  

N-ar trebui sa fie nici o problema, ori variabila nu are valoare. Incearca sa afisezi string-ul inainte:

$sql_firme4 = "SELECT sid, title FROM stories WHERE topic='$topic' ORDER BY sid DESC LIMIT $sid2 ,5";

echo $sql_firme4;

Imposibil sa nu gasesti ce nu-i in regula.
Afiseaza si $sid2, $topic inainte daca crezi ca de acolo e
Apropo dupa afisare poti opri scriptul sa te dumiresti :
flush(); sau ob_end_flush() depinde cum ai ... urmat de die();
Sus  
gogu19



Data înscrierii: 02/Ian/2008
Mesaje: 158

Trimis: Joi Mai 01, 2008 4:36 pm    Titlul subiectului:  

Dupa select baga "or die(mysql_error()).Poate aflii mai multe.
Sus  
meetzah



Data înscrierii: 17/Ian/2006
Mesaje: 16

Trimis: Joi Mai 01, 2008 5:30 pm    Titlul subiectului:  

yupiiii.... multumesc tuturor pentru ajutor.
am rezolvat problema. de fapt eu voiam altceva, insa nu am stiut sa ma exprim :D

acum codul arata sa: Cod: $sql_firme4 = "SELECT sid, title FROM nuke_stories WHERE topic='" . $topic . "' AND sid < '" . $sid2. "' ORDER BY sid DESC LIMIT 0,5";

dupa cum se vede, am adaugat conditia AND sid < '" . $sid2. "'

multumesc inca odata,
mihai
Sus  
Quber



Data înscrierii: 27/Iun/2006
Mesaje: 781
Locație: localhost

Trimis: Vin Mai 02, 2008 8:07 am    Titlul subiectului:  

@meetzah, chiar nu te poti sxprima..!
Sus  
florin201020



Data înscrierii: 20/Mar/2008
Mesaje: 12

Trimis: Sâm Mai 03, 2008 9:42 pm    Titlul subiectului:  

Am si eu o intrebare in legatura cu acest -- WHERE topic='$topic' ---
In loc de = se poate pune si alceva.
Eu as avea nevoie de ceva de genul where data => $in.urma.cu.3.zile

Se poate??
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community