Здравствуйте. Уважаемые програмисты или те кто хоть немного разбирается с php, sql. Помогите пожалуйста вывести данные из таблицы бд. Это естественно для конекта к бд. ================================================= mysql_connect("localhost", "root", "") or die (mysql_error()); mysql_select_db("proba") or die (mysql_error()); mysql_query("set character_set_client ='cp1251'"); mysql_query("set character_set_results ='cp1251'"); mysql_query("set collation_connection ='cp1251_general_ci'"); ================================================== создал таблицу в бд ================================================== CREATE TABLE `contact` ( `id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(30) NOT NULL DEFAULT '', `mail` VARCHAR(20) NOT NULL DEFAULT '', `message` TEXT NOT NULL, `datestamp` VARCHAR(20) NOT NULL DEFAULT '', `ip` VARCHAR(20) NOT NULL DEFAULT '0.0.0.0', PRIMARY KEY (`id`) ) TYPE=MyISAM; ================================================== так я вношу даныые в бд ================================================== $query = "INSERT INTO `contact` SET `name`='{$name}', `message`='{$mess}', `mail`='{$mail}', `ip`='{$ip}', `datestamp`='{$dt}'"; $sql = mysql_query($query) or die(mysql_error()); ================================================== А вот собственно вопрос, как вывести внесённые данные из бд? ================================================== $name = ''; $query = "SELECT `id` FROM `contact` WHERE `name`='{$name}'"; $sql = mysql_query($query) or die(mysql_error()); $result = mysql_query($query) ; echo "$result"; ================================================== вот так он выводит "Resource id #5". Как сделать нормальный вывод?
$sql_answer = mysql_query($query) or die(mysql_error()); $result = mysql_result($sql_answer, 0, 0); // см. mysql_fetch_assoc() а вообще форматирование захавано. см тут http://pastebin.ru/293954
я так и не понял чё там написанно. но всё же нашёл решение, хоть и не совсем идеальное, но всё же ======================================================= <? $hostname = "localhost"; $username = "root"; $password = ""; $dbName = "proba"; $userstable = "contact"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); $query = "SELECT * FROM $userstable WHERE id"; $res = mysql_query($query) or die(mysql_error()); $number = mysql_num_rows($res); if ($number == 0) { echo "<CENTER><P>Сообщений нет</CENTER>"; } else { echo "<CENTER><P>Количество последних сообщений: $number<BR><BR>"; while ($row=mysql_fetch_array($res)) { echo "Клиент ".$row['name'].".<BR>"; echo "Его Email: ".$row['mail']."<br>"; echo "Его сообщение: ".$row['message']."<br>"; echo "Его дата: ".$row['datestamp']."<br>"; echo "Его IP: ".$row['ip']; echo "<BR><BR>"; } echo "</CENTER>"; } ?>
Гость, мля, ЗАБУДЬТЕ про функцию die()! обрабатывайте ошибки своими средствами а не таким образом. вот представьте себе ситуацию. сфигачили вы сайтик. на нём несколько таких блоков. один из них перестал работать (например похерилась часть таблиц на серваке в следствие вырубления электроэнергии) и тогда вместо сайта вылезет его часть, генерирующаяся до первого die. читайте мануал. про try и throw. ps. и про mysql_escape_string тожо. pps. а ещё лучше весь мануал прочитать, осознать, а потом писать... добавлено через 42 секунды и это <center> - deprecated тег.
вот ещё один вопрос, вот это обычный вывод. ================================================ <? $hostname = "localhost"; $username = "root"; $password = ""; $dbName = "proba"; $userstable = "contact"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); $query = "SELECT * FROM $userstable WHERE id"; $res = mysql_query($query) or die(mysql_error()); $number = mysql_num_rows($res); if ($number == 0) { echo "<CENTER><P>Сообщений нет</CENTER>"; } else { echo "<CENTER><P>Количество последних сообщений: $number<BR><BR>"; while ($row=mysql_fetch_array($res)) { echo "Клиент ".$row['name'].".<BR>"; echo "Его Email: ".$row['mail']."<br>"; echo "Его сообщение: ".$row['message']."<br>"; echo "Его дата: ".$row['datestamp']."<br>"; echo "Его IP: ".$row['ip']; echo "<BR><BR>"; } echo "</CENTER>"; } ?> ================================================ а как сделать такой же вывод, только в обратном порядке? ( то есть, свеже добавленная инфа должны отображатся сверху, а не снизу как сейчас!)
я примерно предпологаю как это можно сделать, но что-то не выходит. по идее нужно сделать сделать простой вывод инфы № 1 (чёй id=1). потом нужно сделать вывод через цикл "while" тока к "id" прибавить 1 (id+1). и тогда, исходя из моих предположений будет такой вид: ================================================== строка №1 инфа 1 (id=1) --------------------------------------------------- строка №2 инфа 2 (id=2) строка №3 инфа 3 (id=3) и т.д. ================================================== если это так, пожалуйста, помогите в этом разобратся и правильно сделать вывод.
Гость, вам стоит почитать букварь, имхо. Ответы на вопросы, которые вы задаете, обычно печатают рна первых страницах. И phpmanual скачайте. Там куча примеров. Он даже на русском есть.
Hermes, невнимательный вы человек, товарищь преподаватель Гость, http://www.mysql.ru/docs/man/ читай пока над черепной коробкой твоей нимб не появитцо (с 3й главы).
Hermes, потому что вам следовало бы гостю нужную путёвку выдать, ибо человек вообще не понимает что такое базы данных и для решения каких задач они созданы а это уже вас цитирую топикстартеру ман скурить, конечно, надо, но ещё и надо понимать какие задачи каким образом стоит решать.
хочу_вот_сказать, я не стал писать все что надо почитать по данному вопросу, чтобы человека не испугать совсем. Начать надо с чего-нибудь, потом и до остального дело дойдет. Ман по мускулю вовсе не поможет понять .