<form action="" method="post">
Введите номер счета: <input type="text" size="20px" maxlength="7" name="number1" />
<input type="submit" name="send" value="Отправить" /><br><br>
<?php
if(isset($_POST['send']))
{
$myconnect = @mysql_connect("", "", "") or die("Не могу подключиться к серверу БД: " . mysql_error());
mysql_select_db("") or die("Не могу выбрать базу данных" . mysql_error());
mysql_query("SET NAMES 'utf8'");
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = ".(int) $_POST['number1']);
$count = mysql_num_rows($query);
if($count)
echo "Ваш номер подтвержден! ";
else
echo "Такого номера нет в базе данных. ";
}
?>
</form>
Данный код работает только если число в ячейке `introtext` "голое" без тегов. Если же, например создать таблицу и поместить туда число, тогда оно приобретает в коде вид <td>number1</td> и скрипт из-за тегов число number1 не видит.
Вопрос:
как указать скрипту искать число number1 независимо от тегов вокруг него (что-то вроде не точного совпадения?)???
Спасибо!
Спустя 1 час, 22 минуты, 39 секунд (28.09.2011 - 23:35) redreem написал(а):
попробуйте так:
...
$num1=strip_tags($_POST['number1']);
...
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = ".(int) $num1);
Спустя 10 часов, 38 минут, 50 секунд (29.09.2011 - 10:14) votia написал(а):
Цитата (redreem @ 28.09.2011 - 20:35) |
попробуйте так:
|
не работает
вот к примеру строка
<p>blabla 197324 111111111111111</p>
или <td>197324</td>
надо найти число 197324, а скрипт егоне находит, пишет что нет такого числа
Спустя 6 минут, 44 секунды (29.09.2011 - 10:20) kovalevsky написал(а):
а зачем ты загоняешь переменную типа integer с тегами в базу?
Спустя 2 минуты, 18 секунд (29.09.2011 - 10:23) votia написал(а):
ну предложи вариант...
Спустя 2 минуты, 40 секунд (29.09.2011 - 10:25) kovalevsky написал(а):
Просто когда будешь выводить из базы, то добавляй тег
Спустя 5 минут, 47 секунд (29.09.2011 - 10:31) votia написал(а):
напиши вариант пожалуйста
Спустя 3 минуты, 38 секунд (29.09.2011 - 10:35) Игорь_Vasinsky написал(а):
Ты же при поиске може так сделать
WHERE `introtext` = '<td>".(int) $_POST['number1'])."</td>';
Спустя 6 минут, 46 секунд (29.09.2011 - 10:42) kovalevsky написал(а):
Цитата |
Ты же при поиске може так сделать |
кстати да. сразу видно разницу экперта и меня
Спустя 1 минута, 12 секунд (29.09.2011 - 10:43) votia написал(а):
так скрипт не работает воще. Не выводятся результы ...
Спустя 7 минут, 1 секунда (29.09.2011 - 10:50) kovalevsky написал(а):
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = [нужное значение тебе]");
while ($row = mysql_fetch_assoc($query))
{
echo "<td>".$row['introtext']."</td>";
}
ну вот попробуй мой вариант. добавлять теги на выходе из бд.
Спустя 5 минут, 53 секунды (29.09.2011 - 10:56) votia написал(а):
<form action="" method="post">
Введите номер счета: <input type="text" size="20px" maxlength="7" name="number1" />
<input type="submit" name="send" value="Отправить" /><br><br>
<?php
if(isset($_POST['send']))
{
$myconnect = @mysql_connect("", "", "") or die("Не могу подключиться к серверу БД: " . mysql_error());
mysql_select_db("") or die("Не могу выбрать базу данных" . mysql_error());
mysql_query("SET NAMES 'utf8'");
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = [number1]");
while ($row = mysql_fetch_assoc($query))
{
echo "<td>".$row['introtext']."</td>";
}
$count = mysql_num_rows($query);
if($count)
echo "Ваш номер подтвержден! ";
else
echo "Такого номера нет в базе данных. ";
}
?>
</form>
не выводятся результаты
Спустя 2 минуты, 58 секунд (29.09.2011 - 10:59) kovalevsky написал(а):
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = [number1]");
это я для примера написал [нужное значение тебе] :)
делай как и делал там:
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = ".(int) $_POST['number1']);
тоесть
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = ".(int) $_POST['number1']);
while ($row = mysql_fetch_assoc($query))
{
echo "<td>".$row['introtext']."</td>";
}
Спустя 7 минут, 17 секунд (29.09.2011 - 11:06) votia написал(а):
да не хочет он выводить результаты так
Спустя 1 минута, 55 секунд (29.09.2011 - 11:08) kovalevsky написал(а):
Да не может быть.
Ты точно именно так написал?
точно исправил [number1] на $_POST['number1']? :)
Ты точно именно так написал?
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = ".(int) $_POST['number1']);
while ($row = mysql_fetch_assoc($query))
{
echo "<td>".$row['introtext']."</td>";
}
точно исправил [number1] на $_POST['number1']? :)
Спустя 5 минут, 22 секунды (29.09.2011 - 11:13) votia написал(а):
точнее не бывает, вот проверь сам http://forex-x.ru/forex-partnerka/proverit...vat-klyuch.html номер в базе 197324
Спустя 5 минут, 27 секунд (29.09.2011 - 11:19) Renden написал(а):
Ппц, насколько я понял ТС хочет
Цитата |
как указать скрипту искать число number1 независимо от тегов вокруг него (что-то вроде не точного совпадения?)??? |
для этого нужен LIKE а не = ..
$number = (int)$_POST['number1'];
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` LIKE '%$number%');
Спустя 1 минута, 16 секунд (29.09.2011 - 11:20) votia написал(а):
вот мой код
<form action="" method="post">
Введите номер счета: <input type="text" size="20px" maxlength="7" name="number1" />
<input type="submit" name="send" value="Отправить" /><br><br>
<?php
if(isset($_POST['send']))
{
$myconnect = @mysql_connect("", "", "") or die("Не могу подключиться к серверу БД: " . mysql_error());
mysql_select_db("") or die("Не могу выбрать базу данных" . mysql_error());
mysql_query("SET NAMES 'utf8'");
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = ".(int) $_POST['number1']);
while ($row = mysql_fetch_assoc($query))
{
echo "<td>".$row['introtext']."</td>";
}
$count=mysql_num_rows($query);
if($count)
echo "Ваш номер подтвержден! ";
else
echo "Такого номера нет в базе данных. ";
}
?>
</form>
Спустя 3 часа, 30 минут, 26 секунд (29.09.2011 - 14:50) votia написал(а):
вопрос остается не решенным
Спустя 52 минуты, 26 секунд (29.09.2011 - 15:43) Игорь_Vasinsky написал(а):
Цитата |
для этого нужен LIKE а не = .. |
Будет искать 12, а найдёт 122, 1243, 2312 и т.д.
В БД хранить разметку - совершенно ни к чему.
У тя просто твои числа в БД находит?
Спустя 12 минут, 18 секунд (29.09.2011 - 15:55) votia написал(а):
мои числа находятся в статье в табличном виде
естественно данные статьи находятся в таблице jos_content в ячейке introtext. Вот я и пытаюсь их оттуда вытащить.
<table border="0" align="center">
<tbody>
<tr>
<td>логин</td>
<td>номер</td>
<td>сгенерированный ключ</td>
</tr>
<tr>
<td>user</td>
<td>197324</td>
<td></td>
</tr>
</tbody>
</table>
естественно данные статьи находятся в таблице jos_content в ячейке introtext. Вот я и пытаюсь их оттуда вытащить.
Спустя 17 минут, 51 секунда (29.09.2011 - 16:13) Игорь_Vasinsky написал(а):
тогда и при поиске в запросе нужно так записать
WHERE `introtext` = '%<td>".$_POST['namber1']."</td>%'
Спустя 1 час, 25 минут, 18 секунд (29.09.2011 - 17:38) votia написал(а):
<form action="" method="post">
Введите номер счета: <input type="text" size="20px" maxlength="7" name="number1" />
<input type="submit" name="send" value="Отправить" /><br><br>
<?php
if(isset($_POST['send']))
{
$myconnect = @mysql_connect("", "", "") or die("Не могу подключиться к серверу БД: " . mysql_error());
mysql_select_db("") or die("Не могу выбрать базу данных" . mysql_error());
mysql_query("SET NAMES 'utf8'");
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `introtext` = '%<td>".$_POST['number1']."</td>%');
$count = mysql_num_rows($query);
if($count)
echo "Ваш номер подтвержден! ";
else
echo "Такого номера нет в базе данных. ";
}
?>
</form>
Не выводит результаты поиска
Спустя 2 часа, 19 минут, 37 секунд (29.09.2011 - 19:58) kovalevsky написал(а):
покажи нормально как у тебя данные хранятся?
<td>цифры</td> или просто цифры?
upd.
а почему ты форму закрываешь так далеко?
я не в курсе, но чисто для себя интересно - это влияет как то на что то?
(см. последняя строчка в коде)
<td>цифры</td> или просто цифры?
upd.
а почему ты форму закрываешь так далеко?
я не в курсе, но чисто для себя интересно - это влияет как то на что то?
(см. последняя строчка в коде)
Спустя 1 час, 11 минут, 39 секунд (29.09.2011 - 21:10) inpost написал(а):
votia
1. mysql_query() or die(mysql_error());
2. ]."</td>%'); - ты с кавычками ничего не напутал? То, что было раньше - пошло в запрос, при этом ты не написал or die, поэтому ошибка эта не вывелась на экран!
1. mysql_query() or die(mysql_error());
2. ]."</td>%'); - ты с кавычками ничего не напутал? То, что было раньше - пошло в запрос, при этом ты не написал or die, поэтому ошибка эта не вывелась на экран!
Спустя 15 часов, 54 минуты, 58 секунд (30.09.2011 - 13:05) votia написал(а):
Данные у меня хранятся вот так <td>цифры</td>
а мне надо проверять наличие только цифры
а мне надо проверять наличие только цифры
Спустя 2 минуты, 32 секунды (30.09.2011 - 13:07) votia написал(а):
Цитата (inpost @ 29.09.2011 - 18:10) |
votia 1. mysql_query() or die(mysql_error()); 2. ]."</td>%'); - ты с кавычками ничего не напутал? То, что было раньше - пошло в запрос, при этом ты не написал or die, поэтому ошибка эта не вывелась на экран! |
с кавычками вроде ничего не напутал, но пока ничего не работает и не могу посмотреть где ошибка
Спустя 3 часа, 23 минуты, 40 секунд (30.09.2011 - 16:31) imbalance_hero написал(а):
votia
Я тебе отрезок показал, ты ОТКРЫВАЕШЬ двойными, а ЗАКРЫТЬ ПЫТАЕШЬСЯ(!!!) одинарной...
Я тебе отрезок показал, ты ОТКРЫВАЕШЬ двойными, а ЗАКРЫТЬ ПЫТАЕШЬСЯ(!!!) одинарной...
Спустя 6 дней, 4 часа, 43 минуты, 1 секунда (6.10.2011 - 21:14) votia написал(а):
Цитата (Игорь_Vasinsky @ 29.09.2011 - 12:43) | ||
Будет искать 12, а найдёт 122, 1243, 2312 и т.д. В БД хранить разметку - совершенно ни к чему. У тя просто твои числа в БД находит? |
Имею код
<form action="" method="post">
Введите номер счета: <input type="text" size="20px" maxlength="7" name="number1" />
<input type="submit" name="send" value="Отправить" /><br><br>
<?php
if(isset($_POST['send']))
{
$myconnect = @mysql_connect("localhost", "", "") or die("Не могу подключиться к серверу БД: " . mysql_error());
mysql_select_db("") or die("Не могу выбрать базу данных" . mysql_error());
mysql_query("SET NAMES 'utf8'");
$query = mysql_query("SELECT `introtext` FROM `jos_content` WHERE `id`=86");
$r=mysql_fetch_array($query);
echo "<hr><pre>",$_POST['number1'],"</pre> <hr>\n";
$count = strpos($r['introtext'],''.$_POST['number1'].'');
if($count===false){
echo "Такого номера нет в базе данных. ";
} else {
echo "Ваш номер подтвержден! ";
};
}
?>
</form>
он работает, но как ты и писал он ищет 1234, а находет и 1234, 1, 2, 3 и т.д.
Как сделать так, чтобы он искал только целое число. Колличество символов от 5 до 7
Спустя 4 часа, 9 минут, 6 секунд (7.10.2011 - 01:23) Игорь_Vasinsky написал(а):
У тебя не верно изночально спроектирована БД, и юзер и номер и разметка.
Данные в ячейке такого вида
Ох...мутанина.
Тогда тебе:
1. Вытащил всю ячейку
2. preg_match_all()
Во-первых не факт что паттерн верный
2. это мутанина каждую ячейку регуляркой шарить
вообщем - бред.
еслиб у тя там логина не было - то всю разметку можно было вырезать strip_tags()
Вообщем ты тока бд напрягаешь.
правильно спроектируй и всё пучком будет.
а если в коде всегда одинаковое кол-во символов - то тупо вырезать все теги и взять последнии n символов.
Данные в ячейке такого вида
<table border="0" align="center">
<tbody>
<tr>
<td>логин</td>
<td>номер</td>
<td>сгенерированный ключ</td>
</tr>
<tr>
<td>user</td>
<td>197324</td>
<td></td>
</tr>
</tbody>
</table>
Ох...мутанина.
Тогда тебе:
1. Вытащил всю ячейку
2. preg_match_all()
preg_match_all("#<td>(\d*)</td>#", $r['introtext'], $arr);
if($arr[0][2] == $_POST['number1'])
echo "Find maches!";
else
echo "You loose!";
Во-первых не факт что паттерн верный
2. это мутанина каждую ячейку регуляркой шарить
вообщем - бред.
еслиб у тя там логина не было - то всю разметку можно было вырезать strip_tags()
Вообщем ты тока бд напрягаешь.
правильно спроектируй и всё пучком будет.
а если в коде всегда одинаковое кол-во символов - то тупо вырезать все теги и взять последнии n символов.