Вопрос аналогичный предыдущему, все проверил но не работает

  • Автор темы Павлик 1717
  • Дата начала

Павлик 1717

Guest
Вопрос аналогичный предыдущему, все проверил но не работает

Господа прошу прощения что опять обращаюсь с подобным вопросом, пробовал все варианты проверки и поиска ошибки, немогу найти, но прикол в том что скрипт работает а одно из условий нет.

Вот код.
PHP:
$res3=mysql_query($query,$connection)
      or die(mysql_error());
//
while ($row=mysql_fetch_array($res3)){
$pdf_id = $row['pdf_id'];
$pdf_filename = $row['pdf_filename']; //имя файла которое мне и недает жить
$pdf_filesize = $row['pdf_filesize'];
$lang = $row['lang'];
$pdf_name = $row['pdf_name'];
$kb=($pdf_filesize/1024);

if(!$pdf_filename){//если переменная пуста то должен вывести сообщение о том что файл отсудствует (но он не выводит его)

$filepdf="<tr bgcolor=\"#FFE2C6\"><td colspan=3> Файл отсудствует</td></tr>";
}else{
//иначе если имя файла есть то пишим табличку где выводим все значения тут все работает прекрасно и выводится ошибку не где не дает.
$filepdf="
<tr bgcolor=\"#FFE2C6\">
<td colspan=3 height=1 bgcolor=\"black\"></td>
</tr>
<tr bgcolor=\"#FFE2C6\">
<td><font color=\"#000000\" size=2><a href=\"pdf/$pdf_filename\"> - <u>$pdf_name</u></a></font></td>
<td><center><font color=\"#000000\" size=2>$kb к/б</font></center></td>
<td><center><font color=\"#000000\" size=2>$lang</font></center></td>
</tr>";
}
echo"$filepdf";
Этот прием стар как мир и я его использую уже давно, все работало чудесно, но тут просто маразм.

Не исключаю тот вариант что я смотрю в книгу и вижу фигу,
но плиз помогите, опять 3 день сижу и думаю над какой то ерундой, сегодня уже нервишки здали...

Очень буду признателен.
 

Павлик 1717

Guest
Автор оригинала: rotoZOOM
var_dump ($pdf_filename);
Блин пробовал сие, и еще раз попробовал, да бида в том что выводит var_dump только в том случае если в переменной чтото есть, а если нет, то он не выводит не чего просто пусто и все и var_dump не выводит в том месте где файла нет, а где файл есть выводит и вардамп и сам файл тобиш когда файла нет переменная пуста или точнее ее вообще по каим то причинам нет, она неучитывается, но по логике если ее нет, а точнее если пустая то и должно сработать условие выводжящее сообщение об отсудствии файла, но он игнорирует все.. что касается условия если переменная пуста....
 

Павлик 1717

Guest
Автор оригинала: rotoZOOM
Воооот. А теперь смотрим isset()
дело в том что смысл тот же, и поэтому работает аналогично, если переменная есть то он выводит что она есть, а если же ее нет он опять игнорит сообщение (переменную вывести нельзя), тут в чем то другом дело...

PHP:
if (isset($pdf_filename)){
echo"Эту переменную можно вывести";
}else{
echo"переменную вывести нельзя";
}
 

rotoZOOM

ACM maniac
Это как это так ?
Ты хочешь сказать, что если я возьму твой кусок кода,
выполню его при неинициализированной переменной $pdf_filename, то вторая ветвь не выполнится ?
 

azamat

Guest
Автор оригинала: Павлик 1717
дело в том что смысл тот же, и поэтому работает аналогично, если переменная есть то он выводит что она есть, а если же ее нет он опять игнорит сообщение (переменную вывести нельзя), тут в чем то другом дело...

PHP:
if (isset($pdf_filename)){
echo"Эту переменную можно вывести";
}else{
echo"переменную вывести нельзя";
}
PHP:
if (isset($pdf_filename)&&!empty($pdf_filename))
{
echo"Эту переменную можно вывести";
}
else
{
echo"переменную вывести нельзя";
}
 

Павлик 1717

Guest
Автор оригинала: azamat
PHP:
if (isset($pdf_filename)&&!empty($pdf_filename))
{
echo"Эту переменную можно вывести";
}
else
{
echo"переменную вывести нельзя";
}
Да какя разница, и по твоему тоже ввел, он игнорит сообщение об отсудствии файла всеравно!...
 

rotoZOOM

ACM maniac
Это неправда !
То есть ты хочешь сказать, что если у тебя запись пустая, то
PHP:
$filepdf="<tr bgcolor=\"#FFE2C6\"><td colspan=3> Файл отсудствует</td></tr>";
не выполнится ?
 

Павлик 1717

Guest
Автор оригинала: rotoZOOM
Это неправда !
То есть ты хочешь сказать, что если у тебя запись пустая, то
PHP:
$filepdf="<tr bgcolor=\"#FFE2C6\"><td colspan=3> Файл отсудствует</td></tr>";
не выполнится ?
Да!!!! вот именно!!!

Не это не выпоняется и не все предидущее.....
 

rotoZOOM

ACM maniac
посмотри как следует свой исходник еще раз, особенно предпоследнюю строчку

-~{}~ 03.03.05 15:47:

Павлик 1717 наглый обман и ввод в заблуждение самого себя !
 

Павлик 1717

Guest
Автор оригинала: rotoZOOM
посмотри как следует свой исходник еще раз, особенно предпоследнюю строчку

-~{}~ 03.03.05 15:47:

Павлик 1717 наглый обман и ввод в заблуждение самого себя !
echo"$filepdf";
}

В данном случае не принципиально

или вне цикла, это я уже от безысходности эксперементировал забыл назад поставить..
}
echo"$filepdf";

-~{}~ 03.03.05 13:52:

Блин народ поверьте мне что я этим не от нефиг дела занялся мне завтра сайт сдавать, все супер, а какято хрень все порит...
Извините за отнятое время, но все же прошу помоч, по мне сие так нечто иное как бага, лично моего интерпретатора... тако бывает?
 

Павлик 1717

Guest
Автор оригинала: rotoZOOM
Не верю.
Опять же var_dump ($filepdf); после if'а что дает ?
Вот скриншот



Все слова написаные в сриншоте не относятся не к кому, эт что базу заполнить я абы что повводил..
 

rotoZOOM

ACM maniac
Павлик 1717 зачем мне эта картинка, на ней ниче не понятно. Упрости свой код до:
PHP:
.....
if(!isset($pdf_filename)){
echo "нет переменной<br>";
}else{ 
echo "есть переменная<br>";
}
и запости то, что он выдаст скажем не более чем для 10 записей.
 

Павлик 1717

Guest
так там все и есть, все что обрисовано красной фигурой, там как раз должно вывестить все не чего нет, но он не выводит, какая разница для скольких записей...
Скрипт я упростил до максимума, там 3 цикла вложенных друг в друга, просто этот цикл внутридругого читает только из конкрутно этой таблицы, и в случае если не чего несчитал долже вывести БАААд, но он не выводит....

Ка тебе например вот такой пример ситуация аналогична....


PHP:
echo"
<form name=\"search\" method=\"post\" action=\"$PHP_SELF\">
<INPUT TYPE=\"text\" name=\"words\" value=\"$words\">
<input type=\"submit\" value=\"Найти\">
</FORM>
";
if($words){
$table_name="kat3";

   
$db = mysql_select_db($db_name, $connection)
   or die("не возможно выбрать базу");      
   
$query="SELECT kat3_name, kat3_id, kat_id, kat2_id FROM $table_name WHERE kat3_name LIKE '$words' ORDER BY kat3_npp";

$res22=mysql_query($query,$connection)
      or die("Не возможно выполнить запрос");
// достали
while ($row=mysql_fetch_array($res22)){

//$kat_id = $row['kat_id']; //идентификатор
$kat3_id = $row['kat3_id'];
$kat3_name = $row['kat3_name'];
$kat_id = $row['kat_id'];
$kat2_id = $row['kat2_id']; 
$a="$kat3_name";

if (!$a){
echo"нечего не нашел"; // в случае если эта переменная пуста то он тоже не выводит сообщение о том что не чего не нашел.........
}else{
echo"$a";
}
}
Блин лажа какая и это тже не работает, бывает такое что у пхп отказывают опреаторы....
 

rotoZOOM

ACM maniac
Блин лажа какая и это тже не работает, бывает такое что у пхп отказывают опреаторы....
:)) Это надо в ЮМОР ...
У ассемблерщиков притча существует:
- Ставь всегда два jmp !
- Зачем ?
- А вдруг первый не выполнится.

А теперь серъезно. После вот этого:
PHP:
if($words){ 
$table_name="kat3"; 

    
$db = mysql_select_db($db_name, $connection) 
   or die("не возможно выбрать базу");       
    
$query="SELECT kat3_name, kat3_id, kat_id, kat2_id FROM $table_name WHERE kat3_name LIKE '$words' ORDER BY kat3_npp";
Я даже дальше код смотреть не буду.
А если у тебя !$words ?????

-~{}~ 03.03.05 16:23:

не может у тебя программа уйти по третей ветке из двух.
Если в одной она печатает и во второй печатает,
то ничего не печатать она не может
 

Павлик 1717

Guest
не понял юмора!

Если поисковые слова введены, то выполнять все ниже следующие, с вложенными условиями, но если чел в поиске не чего не ввел значит по умолчанию не чего не делать, не понял тебя в чем прикол...

Вложенное условие если нет нечего опять не срабатывает хотя скрипт работает просто не выводит сообщения об отсудствии переменной....
 

rotoZOOM

ACM maniac
Хорошо ... скрипт все равно криво написан и переубеждать тебя я не буду, не в этом сейчас проблема.
Сделай такой php'шный файл:
PHP:
<?
if (isset($myvar)){
echo "it is set !";
}else{
echo "no it is not!";
}
?>
что он тебе выведет на экран ?

-~{}~ 03.03.05 16:39:

Еще вопрос:
//если переменная пуста то должен вывести сообщение о том что файл отсудствует (но он не выводит его
Что значит переменная пуста ?
NULL, или пустая строка ?
 

Павлик 1717

Guest
Автор оригинала: rotoZOOM
Хорошо ... скрипт все равно криво написан и переубеждать тебя я не буду, не в этом сейчас проблема.
Сделай такой php'шный файл:
PHP:
<?
if (isset($myvar)){
echo "it is set !";
}else{
echo "no it is not!";
}
?>
что он тебе выведет на экран ?

-~{}~ 03.03.05 16:39:

Еще вопрос:

Что значит переменная пуста ?
NULL, или пустая строка ?
это работает, и до этого работало простое условие, а в цикле не работает... вот в чем бида, просто я не настолько опытный програмист чтобы сразу видеть ошибки, как видишь попробовали все что знакомо нашему мозгу, но нечего не дает ответа на вопрос....
<?
$myvar="sdfdsfsdf";

if (isset($myvar)){
echo "it is set !";
}else{
echo "no it is not!";
}
?>
 
Сверху