Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Вывод из базы на экран скриптом


Автор: Jubei 8.7.2005, 16:10
Решил вот таким образом вывести на экран в таблице данные

Код

$link=mysql_connect($hostname,$username,$password);
                      if (!$link) die ("Nemogu podklu4itsja ka baze");
                      @mysql_select_db("$dbName") or die("Cant find database");
                      $result=mysql_query("SELECT * FROM rskdat,$dbName");
                      echo "<b><center>Databasu Output</center></b><br><br>";
                      $num=mysql_numrows($result);
                      $i=0;
                      mysql_close();
                       while ($i < $num) {

                      $tips=mysql_result($result,$i,"tips");
                      $rsknum=mysql_result($result,$i,"RSKnumurs");
                      $sernum=mysql_result($result,$i,"Serialaisnummurs");
                      $modnum=mysql_result($result,$i,"Modelanumurs");
                      $tehnpar=mysql_result($result,$i,"Tehniskieparametri");
                      $opersist=mysql_result($result,$i,"opersistema");
                      $datvard=mysql_result($result,$i,"Datoruvards");
                      $kab=mysql_result($result,$i,"Kabinets");


                     echo "<b>Tips: $tips</b><br>RSKnummurs: $rsknum<br>Serialais nummurs: $sernum<br><br>Modela nummurs: $modnum<br>Tehniskie parametri: $tehnpar<br>Datoru vards: $datvard<br>Atrasanas vieta: $kab<br><hr><br>";
                      i++;
                      }


а скрипт нечего неделает, только девственно чистый белый экран smile пожалуйсто помогите найти ошибку

Автор: Mal Hack 8.7.2005, 16:29
mysql_error вывели после mysql+query

Автор: Kefir 9.7.2005, 10:03
если ты привёл в точности код, то у тебя опечатка - не mysql_numrows, а mysql_num_rows.

и ещё я не очень понимаю самой строки вкери (mysql_query("SELECT * FROM rskdat,$dbName");) - зачем там $dbName, если ты её уже выбрал с помощью mysql_select_db().

Автор: Opik 9.7.2005, 12:09
Jubei
mysql_result - устарелый вариант. юзай:
mysql_query + mysql_fetch_array

Автор: Mal Hack 9.7.2005, 13:47
Цитата(Opik @ 9.7.2005, 13:09)
mysql_result - устарелый вариант.

Ну почему же. Просто в 99% случаев не рациональный. Но иногда бывает нужен.

Цитата(Kefir @ 9.7.2005, 11:03)
если ты привёл в точности код, то у тебя опечатка - не mysql_numrows, а mysql_num_rows.

Это не ошибка.
Хотя, да, правильнее mysql_num_rows, но темнеменее и с первым вариантом работать должно.

Цитата(Opik @ 9.7.2005, 13:09)
mysql_fetch_array

mysql_fetch_assoc ;)

Автор: Opik 9.7.2005, 20:02
Цитата
mysql_fetch_array


mysql_fetch_assoc ;)

я думал что указать, не решил свой вариант. Т.к он подходит всегда. Например:
Код

$query = mysql_query("SELECT count(*) FROM news");
$result = mysql_fetch_array($query);
print $result[0];

С mysql_fetch_assoc такого не сделаешь, без правки запроса AS count например.

Автор: Mal Hack 9.7.2005, 20:06
Opik так то это так, но зачем грузить скрипт еще одним лишним массивом?

Автор: Opik 9.7.2005, 20:08
Mal Hack
массив то один. просто индексов больше.

Автор: Jubei 11.7.2005, 09:55
Kefir я сам непонял, зачем я дважды выбирал базу данных smile
Код

 $link=mysql_connect($hostname,$username,$password);
                      if (!$link) die ("Nevar pieslegties pie MYSQL databazes");
                      @mysql_select_db("$dbName") or die("Cant find database");
                      $result=mysql_query("SELECT * FROM rskdat") ;
                      echo mysql_errno() . ": " . mysql_error(). "\n";
                      echo "<b><center>Database Output</center></b><br><br>";
                      $tips=mysql_fetch_array($result);
                      printf $tips[0];
                      echo mysql_errno() . ": " . mysql_error(). "\n";

вот урезал все по минимуму хочу вывести хоть что-то ) ,а всеравно работать никак нехочет...

Автор: Mal Hack 11.7.2005, 12:19
Цитата(Jubei @ 11.7.2005, 10:55)
printf $tips[0];

Просто print..

Автор: Bikutoru 11.7.2005, 14:12
Код

$query = mysql_query("SELECT count(*) FROM news");
$result = mysql_fetch_array($query);
print $result[0];

По-моему, лучшая демонстрация того, зачем нужен mysql_result. smile
Код

$result = mysql_query("SELECT count(*) FROM news");
print mysql_result($result, 0, 0);

Цитата
Просто print..


Или printf("%s", $tips[0]). Хотя print получше будет...

Автор: Jubei 11.7.2005, 16:41
с просто
Код
 print $tips[0] 
тоже пробывал, ничего... белый экран браузера. Чувствую это какая-то глупая и очевидная ошибка, но отловить её я немогу smile
С базой точно все ок, там есть данные.

Автор: Bikutoru 11.7.2005, 16:51
Jubei, попробуй так

Код

<?php

$link=mysql_connect($hostname,$username,$password);
if (!$link)

    die ("Nevar pieslegties pie MYSQL databazes");
if (!mysql_select_db($dbName, $link))
    die("Cant find database");

if (!($result=mysql_query("SELECT * FROM rskdat", $link)))
    echo mysql_errno($link) . ": " . mysql_error($link). "\n";

echo "<b><center>Database Output</center></b><br><br>";

echo "Rows found: " . (int)mysql_num_rows($result); #DEBUG
if (!($tips=mysql_fetch_array($result)))
    echo "FetchArray bug"; #DEBUG
print("{" . $tips[0] . "}");
print_r($tips);
?>


Если не получится, то выполни SQL-запрос через консоль и посмотри, что получится

Автор: Jubei 11.7.2005, 16:54
Записи точно есть селектом в mysql их видно, я их ввожу тоже используя скрипт и все хорошо, вот только с выводом заскок какой-то получился, непонимаю, что там может быть криво...

Автор: Jubei 11.7.2005, 17:05
Bikutoru получилось, вывелось на экран, спасибо ! Интересно всеже что там неправильно было, что никакой реакции небыло

Автор: Bikutoru 11.7.2005, 17:10
Скорее всего вот это было нехорошо
Цитата

@mysql_select_db("$dbName")

Здесь не указывалось для какого соединения выбирается база.
Или здесь
Цитата
mysql_query("SELECT * FROM rskdat")

не указывалось, какое соединение используется при выполнении запроса. Если их (соединений с базой) несколько, то тут возникают бооооольшие проблемы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)