WeirD
Новичок
А попадает ли она вообще на эти ветки???Автор оригинала: rotoZOOM
не может у тебя программа уйти по третей ветке из двух.
А попадает ли она вообще на эти ветки???Автор оригинала: rotoZOOM
не может у тебя программа уйти по третей ветке из двух.
Я помоему допер в чем прикол, условие таково что при проходе цикла идет обращение к базе и сравнивает данный идентификатор с идентификатором по которому из базы и достаются значения, а если kat2_id=\"$kat2_id\", а если нет совпадающих идентификаторов во второй таблице, значит сие наталкивает меня на размышление такого толка:Автор оригинала: WeirD
А попадает ли она вообще на эти ветки???
Да все попробовал это условие ставил после цикла где он достает а точнее должен достать эту переменную, тогда он во все в которых нет не чего дописвает последний из предидущего цикла. так и должно быть.Автор оригинала: WeirD
Я так понимаю, самым близким к оригиналу следует считать первый код...
Тогда если по запросу ничего выбрано не было, цикл попросту не начнется ( условие $row=mysql_fetch_array - false изначально), соответственно и переменная pdf_filename после цикла у тебя будет содержать пустую строку...
Поэтому либо вывод о найденности, ненайденности pdf нужно делать в самом цикле, либо проверять pdf_filename после цикла...
А что мешает перед циклом обнулить эту переменную??? ( точнее присвоить ей пустую строку)Автор оригинала: Павлик 1717
Да все попробовал это условие ставил после цикла где он достает а точнее должен достать эту переменную, тогда он во все в которых нет не чего дописвает последний из предидущего цикла. так и должно быть.
Обнуление это как раз то с чего я начал 2.5 дня назадАвтор оригинала: WeirD
А что мешает перед циклом обнулить эту переменную??? ( точнее присвоить ей пустую строку)
Тогда если он ничего не выбрал, то он ничего и не выведет...
Хотя может я задачу не понял...
$query="SELECT pdf_id, lang, pdf_filename, pdf_filesize, pdf_name FROM $table_name WHERE pdf_kat3_id LIKE '$kat3_id'";
$query="SELECT pdf_id, lang, pdf_filename, pdf_filesize, pdf_name FROM $table_name WHERE pdf_kat3_id LIKE '$kat3_id'";
Вот помоему догнал:
if (!$res3){
echo"нет файла";
}else{
echo"есть файл";
}
Щас буду проверять....
if (!mysql_fetch_array($res3)) {
echo"Файла нет";
}else{
while ($row=mysql_fetch_array($res3)){
$pdf_kat3_id = $row['pdf_kat3_id'];
$pdf_filename = $row['pdf_filename']; //номер по порядку
$pdf_filesize = $row['pdf_filesize'];
$lang = $row['lang'];
$pdf_name = $row['pdf_name'];
$kb=($pdf_filesize/1000);
$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>";
}
//var_dump ($pdf_filename);
echo"$filepdf";
}
Я боюсь, радость тут несколько преждевременна...Subsequent call to mysql_fetch_row() would return the next row in the result set
Дружище нет ты не прав все работает дело в этой строчке тут надо было проверять проверяем изначально mysql_fetch_array на исполнение $res3 и все далее все работает, так как если id не совпадают то mysql_fetch_array не отрабатывает:Автор оригинала: WeirD
Я боюсь, радость тут несколько преждевременна...
$db = mysql_select_db($db_name, $connection)
or die("не возможно выбрать базу");
$query="SELECT pdf_id, lang, pdf_filename, pdf_filesize, pdf_name FROM $table_name WHERE pdf_kat3_id LIKE '$kat3_id'";
$res3=mysql_query($query,$connection)
or die(mysql_error());
//вот она истина где пошла
if (!mysql_fetch_array($res3)) {
echo"Файла нет";
}else{
while ($row=mysql_fetch_array($res3)){
$pdf_kat3_id = $row['pdf_kat3_id'];
$pdf_filename = $row['pdf_filename'];
$pdf_filesize = $row['pdf_filesize'];
$lang = $row['lang'];
$pdf_name = $row['pdf_name'];
$kb=($pdf_filesize/1024);
echo"Выводим переменные"
}
}
Да дружище теперь я верю твоим заключениям, качество как ты сказал говно полное, он париться в подцикле изза этого.Автор оригинала: WeirD
Павлик 1717
Вызываем mysql_fetch_array($res3) в if-е ... если запрос вернул какой-то результат, то:
1. эта функция разбивает строку в массив.
2. Переходит на следующую строку результата....
Далее в цикле мы уже начинаем со второй строки результата... Так что проверь соответствует ли количество выводимых у тебя строку ожидаемому количеству...
P.s. если с терминологией что не так у меня, то извините...
if (0 == mysql_num_rows($res3)) {
echo"Файла нет";
}else{
while ($row=mysql_fetch_array($res3)){
$pdf_kat3_id = $row['pdf_kat3_id'];
$pdf_filename = $row['pdf_filename'];
$pdf_filesize = $row['pdf_filesize'];
$lang = $row['lang'];
$pdf_name = $row['pdf_name'];
$kb=($pdf_filesize/1024);
echo"Выводим переменные";
}
}
Ну ты просто дружище!!! я пришел в тупик и было зашел опять попросить совета но ты уже все сам ответил без вопроса хотя еще не пробовал но думаю по логике вещей должно быть именно по твоему щас проверю.....Автор оригинала: WeirD
С минимальными изменениями я бы переделал твой скрипт так...PHP:if (0 == mysql_num_rows($res3)) { echo"Файла нет"; }else{ while ($row=mysql_fetch_array($res3)){ $pdf_kat3_id = $row['pdf_kat3_id']; $pdf_filename = $row['pdf_filename']; $pdf_filesize = $row['pdf_filesize']; $lang = $row['lang']; $pdf_name = $row['pdf_name']; $kb=($pdf_filesize/1024); echo"Выводим переменные"; } }
Д ент я там не правду указал, надо подправить профайл....Автор оригинала: WeirD
Павлик 1717
[offtop]
28го января говоришь День рождения??? Ну-ну
[/offtop]
Отсюда, если в результате пусто, то количество строк равно 0. С ним и сравниваем....mysql_num_rows() returns the number of rows in a result set.
Прочитай про типы данных, где-нибудь... Необязательно даже, чтобы это "где-нибудь" относилось к PHP... Тогда разница станет очевидна...Да и вообще какая разница между ! 0 и фалсом
Понятно спасибо, а про ! 0 и фалс??Автор оригинала: WeirD
Отсюда, если в результате пусто, то количество строк равно 0. С ним и сравниваем....
Прочитай про типы данных, где-нибудь... Необязательно даже, чтобы это "где-нибудь" относилось к PHP... Тогда разница станет очевидна...
Хотя в пхп эта разница до безобразия размыта... (ИМХО)