| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
meetzah
Data înscrierii: 17/Ian/2006
Mesaje: 14
|
| 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: 68
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: 14
|
| 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: 752
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: 14
|
| 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: 1153
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: 14
|
| 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: 752
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: 14
|
| 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: 490
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: 106
|
| 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: 14
|
| 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: 752
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: 10
|
| 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 |
|
| |