|
 94.5 Кб |
|
| помогите доделать код
есть таблица a1a_script_step_pass_param
в ней два столбика param и value
из param надо вывести в столбик значения pass_6453 но что бы выводилось без pass_
и при условии что в столбике value в той же строке что и найденное значение pass_6453 существует какое либо значение
вот попробовал написать сам хотябы выборку но безрезультатно ничего не выводит
<?php
$nomer="pass_6453";
$server="localhost";
$dbname="a1a_script_step_pass_param";
$username="h8823_2";
$userpass="2";
$servcon=mysql_connect($server,$username,$userpass);
mysql_query("SET NAMES utf8");
mysql_select_db($dbname,$servcon);
$query="SELECT * FROM `a1a_script_step_pass_param` WHERE param='".$nomer."' ";
$result=mysql_query($query, $servcon);
/* Печать результатов в HTML */
print "<table>\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";
?> | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 16:51)
| | >помогите доделать код
>есть таблица a1a_script_step_pass_param
>в ней два столбика param и value
>из param надо вывести в столбик значения pass_6453 но что бы выводилось без pass_
>и при условии что в столбике value в той же строке что и найденное значение pass_6453 >существует какое либо значение
Не очень понятно... кажется слово значение используется в нескольких смыслах. Что выводит следующий скрипт и как далеко это находится от того, что нужно?
<?php
$nomer="pass_6453";
$server="localhost";
$dbname="a1a_script_step_pass_param";
$username="h8823_2";
$userpass="2";
$servcon=mysql_connect($server,$username,$userpass);
mysql_query("SET NAMES utf8");
mysql_select_db($dbname,$servcon);
$query="SELECT * FROM `a1a_script_step_pass_param` WHERE param='$nomer' ";
$result=mysql_query($query, $servcon);
if($result) exit("Ошибка выполнения SQL-запроса ".mysql_error());
if(mysql_num_rows($result))
{
print "<table>\n";
print "\t<tr>\n";
while($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
print "\t\t<td>".substr($nomer, -4)."</td>".
"<td>$line[value]</td>\n";
}
print "\t</tr>\n";
print "</table>\n";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(27.05.2010 в 17:53)
| | не находит! вот переписал код, выводит НЕТУ т.е. не находит ничего что в этом что в том
значение имею ввижу что нужна не пустая ячейка, будут значения буквы+цыфры там
<?
$hostname = "localhost";
$username = "h8823_2";
$password = "2";
$dbName = "h8823_2";
/* Таблица MySQL, в которой хранятся данные */
$userstable = "a1a_script_step_pass_param";
/* создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");
$query = "SELECT param FROM $userstable WHERE param = 'pass%' and value = IS NOT NULL ";
$result = MYSQL_QUERY($query);
/* Как много нашлось*/
$number = MYSQL_NUMROWS($result);
/* Напечатать*/
$i = 0;
IF ($number == 0) {
PRINT "<CENTER><P>нету</CENTER>";
} ELSEIF ($number > 0) {
PRINT "<CENTER><P>Количество: $number<BR><BR>";
WHILE ($i < $number){
$name = mysql_result($result,$i,"name");
PRINT "icq $name <BR>";
PRINT "<BR><BR>";
$i++;
}
PRINT "</CENTER>";
}
?> | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 18:13)
| | Хм... и ошибок не выдает? Функция MYSQL_NUMROWS() намерено использована или это опечатка? Дело в том, что стандартная функция называется mysql_num_rows(). | |
|
|
|
|
|
|
|
для: cheops
(27.05.2010 в 18:24)
| | хм... исправил, результат тот же | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 18:13)
| | Нельзя писать "value = IS NOT NULL", либо нечто вида "value != ''", либо "value IS NOT NULL". Вообще при работе с SQL-запросами из PHP-кода необходимо обязательно проверять правильность выполнения SQL-кода. PHP об этом не сообщит, он не знает о том, что твориться на SQL-сервере
<?php
...
$query = "SELECT param FROM $userstable WHERE param = 'pass%' and value IS NOT NULL ";
$result = MYSQL_QUERY($query);
if(!$result) exit("Ошибка выполнения запроса - ".mysql_error());
...
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(27.05.2010 в 18:41)
| | не поверите, не работает =)
скрин бд прикрепил, посмотрите мож чего ещё накасячил | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 18:46)
| | Лучше дамп таблицы прикрепите, чтобы можно было воспроизвести ситуацию. | |
|
|
|
|
 106.7 Кб |
|
|
для: cheops
(27.05.2010 в 18:51)
| | вот он, если не ошибся что есть дамп=) | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 19:00)
| | вот всё сделал
<?
$hostname = "localhost";
$username = "h8823_2";
$password = "2";
$dbName = "h8823_2";
/* Таблица MySQL, в которой хранятся данные */
$userstable = "a1a_script_step_pass_param";
/* создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");
$query = "SELECT *
FROM `a1a_script_step_pass_param`
WHERE `param` LIKE 'pass_%'
AND `value` != ''
LIMIT 0 , 30";
$result = MYSQL_QUERY($query);
if(!$result) exit("Ошибка выполнения запроса - ".mysql_error());
/* Печать результатов в HTML */
print "<table>\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";
/* Освобождение resultset */
mysql_free_result($result);
/* Закрытие соединения */
mysql_close($link);
?>
|
а теперь подскажите плиз как вывести только значения первого столбика param но что бы значение выводилось только после 5го симвало, не pass_324252 а 324252 | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 19:14)
| | по первому столбику сообразил
$query = "SELECT param
FROM `a1a_script_step_pass_param`
WHERE `param` LIKE 'pass_%'
AND `value` != ''
LIMIT 0 , 30";
последний вопрос, подскажите как выводить значение после 5го символа=) | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 19:17)
| | >последний вопрос, подскажите как выводить значение после 5го символа=)
Можно воспользоваться функцией substr()
<?php
echo substr($text, 4)
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(27.05.2010 в 19:20)
| | простите, не соображу как его корректно вставить в код... | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 19:35)
| | всё разобрался, благодарю=) | |
|
|
|
|
|
|
|
для: stigler
(27.05.2010 в 19:56)
| | необходимо изменить все значения в массиве, а не только на выводе
вот написал но что то не работает =( хэлпми
<?php
$hostname = "localhost";
$username = "h8823_2";
$password = "2";
$dbName = "h8823_2";
/* Таблица MySQL, в которой хранятся данные */
$userstable = "a1a_script_step_pass_param";
/* создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");
$query ="SELECT param
FROM `a1a_script_step_pass_param`
WHERE `param` LIKE 'pass_%'
AND `value` != ''
LIMIT 0 , 100";
function walk($item1)
{
$item1 = substr("$item1", 5);
}
function print($item2)
{
echo "$item2<br />\n";
}
$result = MYSQL_QUERY($query);
if(!$result) exit("Ошибка выполнения запроса - ".mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)){
array_walk($line, 'walk');
array_walk($line, 'print');
}
/* Освобождение resultset */
mysql_free_result($result);
/* Закрытие соединения */
mysql_close($link);
?>
|
| |
|
|
|
|
автор: ........ (03.06.2010 в 00:50) |
|
|
для: stigler
(02.06.2010 в 23:18)
| | function walk(&$item1)
> все значения в массиве
массив $line перезаписывается при каждой итерации цикла
чтобы иззменить в результате запроса SELECT LEFT(........
>LEFT(str,len)
>Возвращает крайние слева len символов из строки str: | |
|
|
|
|
автор: ...... (03.06.2010 в 00:55) |
|
|
для: stigler
(02.06.2010 в 23:18)
| | >SUBSTRING(str,pos), SUBSTRING(str FROM pos)
>Возвращает подстроку из строки str, начиная с позиции pos:
и название для функцмм print() уже занято | |
|
|
|