[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите новичку!
real-man
Есть база номеров телефонов, храниться в mysql под именем phone, есть скрипт, который по идее должен будет выводить через форму поиска существующие в базе номера телефонов, но как связаться с этой базой не пойму! Помогите пожалуйста и не судите строго, скрипт очень нужен а опыта и знаний не хватает!
Вот ошибки которые выдает при вводе номера :
Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 3

Warning: include() [function.include]: Failed opening 'config.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 3

Warning: mysql_query() [function.mysql-query]: Access denied for user 'passagir'@'localhost' (using password: NO) in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 5

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 5

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on
line 6


Вот сам код

файл index.html

<script language="javascript" src="ajax_framework.js"></script>

</head>
<body>
<h2>База телефонов</h2>

<form id="searchForm" name="searchForm" method="post" action="javascript:insertTask();">
<div class="searchInput">
<input name="проверить" type="text" id="searchq" size="30" onkeyup="javascript:searchNameq()"/>
<input type="button" name="submitSearch" id="submitSearch" value="Search" onclick="javascript:searchNameq()"/>
</div>
</form>

<h3>ВВедите номер телефона для проверки</h3>
<div id="msg">Результат</div>
<div id="search-result"></div>

</body>
</html>

файл in-search.php

<?php
include('config.php');
$searchq = $_GET['name'];
$getName = mysql_query('SELECT * FROM USER WHERE name LIKE "%'.addslashes($searchq).'%"');
while ($row = mysql_fetch_array($getName))
echo $row['name'] . '<br/>';
?>

файл ajax_framework.js

/* -------------------------- */
/* XMLHTTPRequest Enable */
/* -------------------------- */
function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
} else {
request_type = new XMLHttpRequest();
}
return request_type;
}

var http = createObject();

/* -------------------------- */
/* SEARCH */
/* -------------------------- */
function searchNameq() {
searchq = encodeURI(document.getElementById('searchq').value);
document.getElementById('msg').style.display = "block";
document.getElementById('msg').innerHTML = "Searching for <strong>" + searchq+"";
// Set te random number to add to URL request
nocache = Math.random();
http.open('get', 'in-search.php?name='+searchq+'&nocache = '+nocache);
http.onreadystatechange = searchNameqReply;
http.send(null);
}
function searchNameqReply() {
if(http.readyState == 4){
var response = http.responseText;
document.getElementById('search-result').innerHTML = response;
}
}
Что нужно изменить?



Спустя 2 минуты, 58 секунд (6.06.2011 - 16:43) alex12060 написал(а):
Вот так:


<?php
include('./config.php');
$searchq = htmlspecialchars($_GET['name']);
$getName = mysql_query('SELECT * FROM USER WHERE name LIKE "%'.addslashes($searchq).'%"');
while ($row = mysql_fetch_assoc($getName))
echo $row['name'] . '<br/>';
?>

Спустя 3 минуты, 58 секунд (6.06.2011 - 16:47) real-man написал(а):
Не помогло! sad.gif

Спустя 7 минут, 14 секунд (6.06.2011 - 16:54) alex12060 написал(а):
Ты ничего и не менял.

Спустя 4 минуты, 9 секунд (6.06.2011 - 16:58) real-man написал(а):
Зачем я тогда тему создавал? Я по вашему совету поменял array на assoc, но ошибки остались прежними!

Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 3

Warning: include() [function.include]: Failed opening 'config.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 3

Warning: mysql_query() [function.mysql-query]: Access denied for user 'passagir'@'localhost' (using password: NO) in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 5

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 5

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on
line 6


Спустя 1 минута, 39 секунд (6.06.2011 - 17:00) alex12060 написал(а):
Я обновил свой пост с кодом. Попробуй его. Если не сработает. ответь на вопрос ниже.

Где находится файл config.php ?

Спустя 5 минут, 7 секунд (6.06.2011 - 17:05) real-man написал(а):
Только хотел написать! скрипт переписывал с примера, но cам не пойму, где он должен быть этот config и что в него прописывать!? Я думал что этот файл к базе данных относиться!К уроку это не прилагалось!

Спустя 5 минут, 50 секунд (6.06.2011 - 17:11) inpost написал(а):
real-man
Нет соединения с БД, mysql_connect, mysql_select_db - их надо ввести.
2) Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 3 - отсутствует файл config.php в папке, где лежит search.php

Спустя 21 минута, 14 секунд (6.06.2011 - 17:32) real-man написал(а):
Нет соединения с БД, mysql_connect, mysql_select_db - их надо ввести.
Куда именно?
<?php
include('config.php');
$searchq = $_GET['name'];
$getName = mysql_query('SELECT * FROM USER WHERE name LIKE "%'.addslashes($searchq).'%"');
while ($row = mysql_fetch_array($getName))
echo $row['name'] . '<br/>';
?>

То что config отсутствует я понял, но нужно ли его создавать, может там опечатка? А если нужно то что в нем прописать?

Вы извините пацаны, Вы наверное там падаете со смеху от моих вопросов, но очень нужно!

Спустя 34 минуты, 17 секунд (6.06.2011 - 18:06) inpost написал(а):
real-man
ты взял скрипт откуда-то, соединение как раз именно в config.php должно быть, скорее всего.
А откуда я знаю, что помимо соединения должно быть в том файле? Я же скрипт не видел, и откуда взял, и что делал.

Спустя 2 минуты, 56 секунд (6.06.2011 - 18:09) real-man написал(а):
скрипт почти не менял, взял от сюда http://htmlweb.ru/ajax/example/search.php

Спустя 5 минут, 22 секунды (6.06.2011 - 18:14) inpost написал(а):
Ну ты сам должен создать config.php и в нём использовать те 2 функции для соединения с БД

Спустя 2 минуты, 16 секунд (6.06.2011 - 18:17) real-man написал(а):
Я понял, а пример не подкините?

Спустя 3 минуты, 6 секунд (6.06.2011 - 18:20) XCross написал(а):
Сохрани под именем config.php или как там требуется, заполни данные, соответствующие твоей базе данных.

А толку примеров кидать.
Ну вот:

<?php
$mysql_login = 'Логин';
$mysql_password = 'Пароль';
$mysql_server = 'localhost'; //Обычно
$mysql_database = 'Имя базы данных';

mysql_connect($mysql_server,$mysql_login,$mysql_password) or die("Невозможно установить соединение с базой"); //Соединяемся
mysql_select_db($mysql_database) or die("Невозможно установить соединение с базой"); //Выбираем базу
?>

Спустя 2 минуты, 53 секунды (6.06.2011 - 18:23) real-man написал(а):
Спасибо ребята! Попробую отпишусь, если получиться с меня пивасик...

Спустя 41 минута, 19 секунд (6.06.2011 - 19:04) XCross написал(а):
Пиво не пью biggrin.gif

Спустя 3 минуты, 38 секунд (6.06.2011 - 19:08) neadekvat написал(а):
Цитата (kmaks @ 6.06.2011 - 20:04)
Пиво не пью

Я за тебя возьму.

Спустя 7 минут, 42 секунды (6.06.2011 - 19:15) XCross написал(а):
Нетуж dry.gif

Я перепродам biggrin.gif biggrin.gif biggrin.gif tongue.gif

Спустя 4 часа, 13 минут, 28 секунд (6.06.2011 - 23:29) Админ написал(а):
Цитата
Пиво не пью

Всё мы тебя потеряли

Спустя 1 день, 21 час, 6 минут, 17 секунд (8.06.2011 - 20:35) real-man написал(а):
Все сделал как советовали, но выдает ошибку

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/p/passagir/bezagentov.net/public_html/search/in-search.php on line 6

Что же этому скрипту надо еще?

Спустя 17 минут, 47 секунд (8.06.2011 - 20:53) inpost написал(а):
mysql_query() or die(mysql_error());

Спустя 36 минут, 23 секунды (8.06.2011 - 21:29) real-man написал(а):
что это значит?

Спустя 1 минута, 47 секунд (8.06.2011 - 21:31) XCross написал(а):
Это значит, что в запросе к базе допущена ошибка и соответственно массива не получишь. А or die(mysql_error()); покажет есть ли ошибка в запросе, а если есть то какая.

Насчет
mysql_fetch_array();

Писали, что лучше использовать

mysql_fetch_assoc();


Так как первая функция возвращает два массива и как следствие поедание ресурсов.

Спустя 2 часа, 37 минут, 59 секунд (9.06.2011 - 00:09) inpost написал(а):
real-man
Это гугл и справочник. там и читаешь smile.gif

Спустя 12 часов, 25 минут, 32 секунды (9.06.2011 - 12:35) real-man написал(а):
спасибо разобрался все работает....! А не подскажете возможно ли вывести информацию с базы так, чтоб она была определенным цветом?
Вот код
<?php
include('config.php');
$searchq = $_GET['name'];
$getName = mysql_query('SELECT * FROM USER WHERE name LIKE "%'.addslashes($searchq).'%"');
while ($row = mysql_fetch_array($getName))
echo $row['name'] . '<br/>';
?>
красным я отметил ряд, который я б хотел выводить определенным текстом

Спустя 1 день, 22 часа, 5 минут, 27 секунд (11.06.2011 - 10:40) Pulse написал(а):
помести $row['name'] в какой-нибудь див с классом, а в css добавь уже нужный цвет.

Спустя 3 часа, 13 минут, 44 секунды (11.06.2011 - 13:54) real-man написал(а):
Спасибо, сделал, но, чем дальше в лес тем ... короче проблема! при вводе данных результат начинает показывать с первых символов, а у меня база очень большая, и соответственно получается большая нагрузка на сервер, в общем страница иногда подвисает, можно ли сделать так, чтоб результат отображался при полном совпадении введенных данных? Что мне нужно изменить?

Спустя 5 часов, 9 минут, 6 секунд (11.06.2011 - 19:03) inpost написал(а):
real-man
Полное совпадание `name` = '".mysql_real_escape_string($_GET['name'])."'

Спустя 47 минут, 3 секунды (11.06.2011 - 19:50) real-man написал(а):
<?php
include('config.php');
$searchq = $_GET['name'];
$getName = mysql_query('SELECT * FROM agents WHERE name LIKE "%'.addslashes($searchq).'%"');
while ($row = mysql_fetch_array($getName))
echo $row['name'] . '<br/>';
?>
заменил на

<?php
include('config.php');
$searchq = mysql_real_escape_string($_GET['name']);
$getName = mysql_query('SELECT * FROM agents WHERE name LIKE "%'.addslashes($searchq).'%"');
while ($row = mysql_fetch_array($getName))
echo $row['name'] . '<br/>';
?>

Не помогло! blink.gif

Спустя 14 часов, 57 минут, 59 секунд (12.06.2011 - 10:48) real-man написал(а):

проблема решина! после LIKE нужно было убрать %%и все! Теперь ищет только при полном совпадении данных!

$getName = mysql_query('SELECT * FROM agents WHERE name LIKE "'.addslashes($searchq).'"');
Теперь можно и пивка попить.. Кто в Харькове подтягивайтесь!

Спустя 5 часов, 30 минут, 58 секунд (12.06.2011 - 16:19) inpost написал(а):
real-man
Вот ужас... я же сказал, как делать надо...

Спустя 9 дней, 6 часов, 9 минут, 12 секунд (21.06.2011 - 22:28) real-man написал(а):
Ребят еще одна идея появилась! А как так сделать, чтоб отображалось сразу два столба с БД?
<?php
include('config.php');
$searchq = $_GET['name'];
$getName = mysql_query('SELECT * FROM agents WHERE name LIKE "'.addslashes($searchq).'"');
while ($row = mysql_fetch_array($getName))
echo $row['name'] . '<br/>';

?>
сейчас у меня отображается только тот что отмечен красным (тоесть номер телефона, если совпадает) а мне нужно чтоб и описание этого ряда (столбец "company")? Как его вписать в код?

Спустя 9 минут, 25 секунд (21.06.2011 - 22:37) inpost написал(а):
real-man
А что у тебя находится в массиве $row ? Что мешает так же через echo вывести?

Спустя 6 минут, 33 секунды (21.06.2011 - 22:44) real-man написал(а):
while ($row = mysql_fetch_array($getName))
echo $row['company'] . '<br/>';
пробовал вот так, - не отображает! одну букву с двух рядов и все!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.