Доброе всем время суток. Помогите пожалуйста сделать грамотный запрос к базе: из таблицы names нужно вывести список имён и сравнить его с соответствующим полем таблицы grafik с датами и распечаткой результатов. Вот что я накорявил : PHP: <?php $names= mysql_query("SELECT name FROM names"); $name= mysql_fetch_array($names, MYSQL_NUM); $result = mysql_query("SELECT date,name FROM grafik WHERE name LIKE '$name'"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("Date: %s - Name: %s <br/>", $row[0], $row[1]); } mysql_free_result($result); ?> Только громко не смейтесь
непонял, надо взять имена из первой таблицы, прогнать их по второй таблице и в итоге вывести колонки из второй таблицы? Время суток совсем не доброе, спать пора) зы: ето что сайт про спайдермена там ?
yoyo-moyo Про спайдермена и не спорьте!!!! DD ЗЫ: чёто типа того PHP: $query ="SELECT * from `names` name"; $result = mysql_query($query,$link); while ($resulttoarray = mysql_fetch_array($result)) { $name=$resulttoarray['name']; $query ="SELECT * from `grafik` where name='$name'"; $result = mysql_query($query,$link); $resulttoarray = mysql_fetch_array($result) $date=$resulttoarray['date']; echo "$name","$date",'<br>'; } подправьте под себя зыы: я новичек и долго не спал(( ну примерно так
yoyo-moyo та тут по идее тока коннект к базе надо свой поставить, а честно башка уже не варит если ошибка в логике я не виноват А сайт всёравно про спайдермена!
Да вываливает ошибку: Код (Text): mysql_query(): supplied argument is not a valid MySQL-Link resource Ну про спайдермена, так про спайдермена....
Всем добрый вечер.. Долго мучился , родил такую выборку из базы: PHP: <?php /* Выполняем SQL-запрос на аналитику пауков и вывод списка (не знаю как передать массив пауков без распечатки) */ $query = "SELECT spider_user_agent FROM spiders"; $spiders = mysql_query($query); /* Выводим результаты в html */ print "<center><h1>Список пауков.</h1></center>\n<table width='800'; border='1'>\n"; while ($spider = mysql_fetch_array($spiders, MYSQL_ASSOC)) { print "\t<tr>\n"; foreach ($spider as $list) { print "\t\t<td>$list</td>\n"; } print "\t</tr>\n"; } print "</table><br/>"; /* Выполняем SQL-запрос аналитики лога на совпадения по паукам */ $query = "SELECT date,tip FROM log where tip like '%$spider%' order by tip"; $result = mysql_query($query); /* Выводим результаты в html */ print "<center><h1>Список совпадений в логе.</h1></center>\n<table width='800'; border='1'>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "\t<tr>\n"; foreach ($line as $col_value) { print "\t\t<td>$col_value</td>\n"; } print "\t</tr>\n"; } print "</table>\n"; /* Освобождаем память от результата */ mysql_free_result($spiders); mysql_free_result($result); ?> Помогите отладить и убрать лишнее, список пауков с датами выводит на при длине лога ~ 250000 записей результат приходится ждать минуту..... Понимаю , что накосорылил лишнего , но по другому пока не умею.... Распечатка списка пауков нге нужна, но подругому не делает выборку из лога... Заранее спасибо.
Привет всем. Домучился вот до такого: PHP: <? $query = "SELECT spider_user_agent FROM spiders"; $spiders = mysql_query($query); while ($spider = mysql_fetch_array($spiders, MYSQL_ASSOC)); $StartTime = microtime(true); $spider = mysql_real_escape_string($spider); $id = 3; $startdate = "2009-06-01"; $enddate = "2009-11-30"; $query = "SELECT date,tip FROM log where id_user=$id and tip like '$spider' and date>'$startdate' and date<'$enddate' order by tip"; $result = mysql_query($query); print "<center><h1>Список совпадений в логе.</h1></center>\n<table width='800'; border='1'>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "\t<tr>\n"; foreach ($line as $col_value) { print "\t\t<td>$col_value</td>\n"; } print "\t</tr>\n"; } print "</table>\n"; mysql_free_result($result); $EndTime = microtime(true); echo 'Запрос "$result" выполнен за ' . number_format($EndTime - $StartTime, 6) . ' секунд'; echo '<br/>'; ?> Выводит только несколько строк, где видимо по ошибке не записано ничего кроме даты ... Остальной массив $spider игнорируется... Где-то неправильно обрабатывается первый массив , а где и как не вижу... Поправьте "программиста" :}}}}}}} пожалуйста... Из первого массива можно распечатать полный список , а подставляться не хочет...
А зачем столько циклов? При тысячах записей в таблице names у вас начнутся тормоза. Неправильная структура БД, она избыточна. table1: names id | name table2: grafik id | id_name | date [sql] SELECT gr.id AS id, gr.date AS date, nm.name AS name FROM names AS nm LEFT JOIN grafik AS gr ON gr.id_name = nm.id [/sql] PHP: <?php $result = mysql_query('Запрос выше'); while ($row = mysql_fetch_object($result)) printf("Date: %s - Name: %s <br/>", $row->date, $row->name); ?>