Заявка, която селектира само полета със информация

rivo

Registered
Имам следната функция и искам да изкарам записите само там където съм добавил вече видео, тъй като има записи без добавено видео. Трябва ми помощ как да наглася заявката, така че да се селектират само записите в които има добавено видео, а не както е в момента да се селектират всички, без значение дали има или няма информация в полето video.

Дано е станало ясно, ето я и функцията:

function randVideo(){
$baners = array();
$query = mysql_query("SELECT video FROM stihove");
while($row = mysql_fetch_array($query))
{
$videos = $row['video'];
$baners[] = "$videos";
}
$rand = $baners[array_rand($baners)];
$raz = explode("|" ,$rand);
echo $raz[0];
}
 
Ами не знам как ще стане, но така ще стане:
PHP:
$videos = $row['video']; 
if($videos==NULL){
//Видеото не съществува-> не го показваме
}else{
//Видеото съществува и можем да го покажем
}
Това го слагаш в цикъла.
 
например имам записи от рода на

ид----титле------видео----
1----Иван------- линк ----
2----Гошо------- [празно]----
3----Пешо------- линк ----
4----Стоян-------[празно]----
5----Драган------- [празно] ----
6----Петка------- линк ----

и искам да селектирам само тези в които има линк
 
shashma88 каза:
Ами не знам как ще стане, но така ще стане:
PHP:
$videos = $row['video']; 
if($videos==NULL){
//Видеото не съществува-> не го показваме
}else{
//Видеото съществува и можем да го покажем
}
Това го слагаш в цикъла.

така става, ама е твърде бавно, защото когато попадне на празен запис, започва да търси друг и така докато не намери запис със видео, а за сега повечето ми записи са празни. Иначе става
 
Всички редове от таблицата stihove където в колоната video има някаква стойност:
[sql]SELECT video FROM stihove WHERE video != ''[/sql]

Тъй като явно това поле не ти е задлъжително за попълване, ако следваме добрите практики, би трябвало да си я дефинирал като такава, приемаща NULL, т.е. ако няма въведен линк за видео, в колоната да се записва NULL, тогава заявката може да се оптимизира до:

[sql]SELECT video FROM stihove WHERE video IS NOT NULL[/sql]
 
exec каза:
Всички редове от таблицата stihove където в колоната video има някаква стойност:
[sql]SELECT video FROM stihove WHERE video != ''[/sql]

Тъй като явно това поле не ти е задлъжително за попълване, ако следваме добрите практики, би трябвало да си я дефинирал като такава, приемаща NULL, т.е. ако няма въведен линк за видео, в колоната да се записва NULL, тогава заявката може да се оптимизира до:

[sql]SELECT video FROM stihove WHERE video IS NOT NULL[/sql]

м да супер, така е по-бързо :) тенкЮ
 

Back
Горе