Един ламерски въпрос (array filter)
7 отговора
294 прегледа
Един ламерски въпрос (array filter)
Сигурно е много елементарно ама мен ме поизпоти:
$result = mysql_query("SELECT ID, subject, text * nekvasitablica");
while ($rs = mysql_fetch_array($result)) {
echo $rs["subject"] . "</BR>\n";
}
И сега тука искам да покажа $rs["Text"] където $rs["ID"] = 9 (или > или < 9). И по взъможност да го покажа преди цикъла.
В ASP е нещо такова:
RS.Open SQLString, DBDSN, 1, 2
Do While Not RS.EOF
Response.Write RS("subject") & "<BR>"
RS.MoveNext
Loop
RS.Filter = "ID = 9"
и понеже ID-то е уникално и връща само 1 рекърд направо:
Response.Wirte RS("text")
или ако RS.Filter = "ID > 9"
Do While Not RS.EOF
бла бла бла
Некви идеи как става тая гявулия в php без да селектвам 2 пъти?
$result = mysql_query("SELECT ID, subject, text * nekvasitablica");
while ($rs = mysql_fetch_array($result)) {
echo $rs["subject"] . "</BR>\n";
}
И сега тука искам да покажа $rs["Text"] където $rs["ID"] = 9 (или > или < 9). И по взъможност да го покажа преди цикъла.
В ASP е нещо такова:
RS.Open SQLString, DBDSN, 1, 2
Do While Not RS.EOF
Response.Write RS("subject") & "<BR>"
RS.MoveNext
Loop
RS.Filter = "ID = 9"
и понеже ID-то е уникално и връща само 1 рекърд направо:
Response.Wirte RS("text")
или ако RS.Filter = "ID > 9"
Do While Not RS.EOF
бла бла бла
Некви идеи как става тая гявулия в php без да селектвам 2 пъти?
Re: Един ламерски въпрос (array filter)
mysql_result() е функцията, която ти трябва според мен
ето ти едно решение, но се надявам някой да покаже нещо по-добро
$result = mysql_query("SELECT ID, subject, text * nekvasitablica");
for($i=0; $i<mysql_num_rows($result); $i++ ){
if(mysql_result($result, $i, "id") == 9){
print mysql_result($result, $i, "text");
break;
}
}
while ($rs = mysql_fetch_array($result)) {
echo $rs["subject"] . "</BR>\n";
}
# лудите, лудите... те да са живи!
ето ти едно решение, но се надявам някой да покаже нещо по-добро
$result = mysql_query("SELECT ID, subject, text * nekvasitablica");
for($i=0; $i<mysql_num_rows($result); $i++ ){
if(mysql_result($result, $i, "id") == 9){
print mysql_result($result, $i, "text");
break;
}
}
while ($rs = mysql_fetch_array($result)) {
echo $rs["subject"] . "</BR>\n";
}
# лудите, лудите... те да са живи!
edin lamerski otgovor :)))
s malko po-razlichno query:
SELECT ID, subject, text
FROM tablename
WHERE ID = 9
i taka ti vrushta samo edin rezultat i suotvetno shte ti loopne samo edin put i taka... :))) ako id ti e unikalno i ti e kliuch to taka ili inache niama da vrushta poveche ot edin red...
pak ako iskash mojesh i promenliva da polzvash na miastoto na 9...
SELECT kvoto ti triabva
FROM tablename
WHERE ID = '$promenliva'
mai taka stavashe... ne sum siguren no mislia che triabvashe da ima edinichni kavichki... taka ili inache... moje i da ne sum te razbral... ne sfanah shto se opitvash da go pravish v php kato tova e edna ot osnovnite funkcii na sql... da sortira i dava kolkoto moje po-maluk rezultat predi da se obrabotva
setih se da dopulna...
moje i where ID <= 9
ma ti 9 rezultata li iskash ili iskash rezultata ot reda s ID=9... che kato gledam reshenieto na enchanted i se opletoh...
Freedom is just another word for nothing left to lose. (J.Joplin)
SELECT ID, subject, text
FROM tablename
WHERE ID = 9
i taka ti vrushta samo edin rezultat i suotvetno shte ti loopne samo edin put i taka... :))) ako id ti e unikalno i ti e kliuch to taka ili inache niama da vrushta poveche ot edin red...
pak ako iskash mojesh i promenliva da polzvash na miastoto na 9...
SELECT kvoto ti triabva
FROM tablename
WHERE ID = '$promenliva'
mai taka stavashe... ne sum siguren no mislia che triabvashe da ima edinichni kavichki... taka ili inache... moje i da ne sum te razbral... ne sfanah shto se opitvash da go pravish v php kato tova e edna ot osnovnite funkcii na sql... da sortira i dava kolkoto moje po-maluk rezultat predi da se obrabotva
setih se da dopulna...
moje i where ID <= 9
ma ti 9 rezultata li iskash ili iskash rezultata ot reda s ID=9... che kato gledam reshenieto na enchanted i se opletoh...
Freedom is just another word for nothing left to lose. (J.Joplin)
Редактирано от AC на
Re: edin lamerski otgovor :)))
Е да, ама аз искам да направя само един селект. Първо да покажа всички записи и после примерно само записа с еди кво си ID.
Ще тествм примера на enchanted - и аз си помислих че ще се наложи да го обхождам тоя масив, ама си мислех че има нещо по-елементарно...
Сега ще тествам
Ще тествм примера на enchanted - и аз си помислих че ще се наложи да го обхождам тоя масив, ама си мислех че има нещо по-елементарно...
Сега ще тествам
Re: Един ламерски въпрос (array filter)
10x. stana iako. Obache posle while-a bugva. Mnogo stranno - vse edno che dokato obhozhdam masiva toi si se izprazva :-// mnogo stranno mi izglezhda.
Primerno selecta mi vrashta 10 zapisa s ID-ta ot 1 do 10 i az da kazhem tyrsia ID 5. Znachi pochvam da obhozhdam dokato go nameria tva ID 5 i sled tova nali break. Obache posle while cikala mi gi varti ot 6 do 10. prednite gi niama - vse edno se e izpraznil ot 1-5 masiva. razbirash li me kva mi e bolkata :-) Ako tyrsia naprimer recorda s ID 3 - pokazva mi go tova ID3 i posle while-a gi varti ot 4 do 10... nekvi idei?
Primerno selecta mi vrashta 10 zapisa s ID-ta ot 1 do 10 i az da kazhem tyrsia ID 5. Znachi pochvam da obhozhdam dokato go nameria tva ID 5 i sled tova nali break. Obache posle while cikala mi gi varti ot 6 do 10. prednite gi niama - vse edno se e izpraznil ot 1-5 masiva. razbirash li me kva mi e bolkata :-) Ako tyrsia naprimer recorda s ID 3 - pokazva mi go tova ID3 i posle while-a gi varti ot 4 do 10... nekvi idei?
Re: Един ламерски въпрос (array filter)
chuval li si za reset() ? opitaj s tazi funkciq ...