Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: исправте плиз arrey_walk+substr
 
 автор: stigler   (02.06.2010 в 20:33)   письмо автору
 
 

будте добры исправте, не рабоит где то в этой части
function walk(&$item1)
{
$item1 = substr("$item1", 5);
}
array_walk($line, 'walk');
необходимо что бы каждое значение массива обрубалось на первые 5 символов
отдельно substr не надо применять на вывод значения, необходимо изменить сам массив

<?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"





  
$result MYSQL_QUERY($query); 
  if(!
$result) exit("Ошибка выполнения запроса - ".mysql_error());





    
/* Печать результатов в HTML */
    
print "<table>\n";
    while (
$line mysql_fetch_array($resultMYSQL_ASSOC)




function 
walk(&$item1)
{
$item1 substr("$item1"5);
}
array_walk($line'walk');

)


{
        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);

  Ответить  
 
 автор: .....   (02.06.2010 в 23:36)
 
   для: stigler   (02.06.2010 в 20:33)
 

объявление функции walk() лучше вынесите из тела цикла while, если это можно назвать телом
после этого
> while ($line = mysql_fetch_array($result, MYSQL_ASSOC)
должны стоять две скобки ){

и вызов функции тоже не на месте

  Ответить  
 
 автор: stigler   (03.06.2010 в 09:14)   письмо автору
 
   для: .....   (02.06.2010 в 23:36)
 


  $result = MYSQL_QUERY($query); 
  if(!$result) exit("Ошибка выполнения запроса - ".mysql_error());


function walk($item1) 

 
$item1 = substr("$item1", 5);

function prin($item2) 

echo "$item2<br />\n";
}

 while ($line = mysql_fetch_array($result, MYSQL_ASSOC)){
 
array_walk($line, 'walk'); 
array_walk($line, 'prin');
}


сделал так, всё равно значения не обрезаются, только выводятся...

  Ответить  
 
 автор: sim5   (03.06.2010 в 09:20)   письмо автору
 
   для: stigler   (03.06.2010 в 09:14)
 

Для чего вам array_walk, если обрезанное до необходимого уже можно получить MySQL запросом, или же непосредственно выполнить в цикле while?

  Ответить  
 
 автор: Tonik992   (03.06.2010 в 10:14)   письмо автору
 
   для: stigler   (03.06.2010 в 09:14)
 

не понял насчет " не обрезаются, только выводятся" ? т.е. как ?

  Ответить  
 
 автор: stigler   (03.06.2010 в 10:18)   письмо автору
 
   для: Tonik992   (03.06.2010 в 10:14)
 

function walk($item1)
{

$item1 = substr("$item1", 5);
вот это не работало, решил проблему через
SELECT SUBSTRING(param FROM 6)=)

помогите теперь, на этот раз последний наверно вопрос=), найти пересечения массивов

<?
$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 SUBSTRING(param FROM 6) 
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($resultMYSQL_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);



$xml="
<digiseller.request>
<id_group>75096</id_group>
<page>1</page>
<rows>200</rows>
<order>price</order>
</digiseller.request>
"
;
function 
_GetAnswer($address$xml){
  
$ch curl_init($address);
  
curl_setopt($chCURLOPT_HEADER0);
  
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
  
curl_setopt($chCURLOPT_POST,1);
  
curl_setopt($chCURLOPT_POSTFIELDS$xml);
  
$result=curl_exec($ch);
  return 
$result;
}
$answer=_GetAnswer("http://shop.digiseller.ru/xml/personal_goods.asp"$xml);
$xmlres simplexml_load_string($answer);
echo 
"<TABLE>";
foreach (
$xmlres->rows->row as $row) {
  echo 
"<TR>";
  echo 
"<TD>";

  echo 
iconv("UTF-8""CP1251"$row->name_goods);

  echo 
"<TD>";
  echo 
"блаблабла ";

  echo 
iconv("UTF-8""CP1251"$row->name_goods);
  echo 
" ";
  echo 
"<A href=/2/goods.php?idd=".$row->id_goods.">";
  echo 
"купить";
  echo 
"</A>";

}
echo 
"</TABLE>";
?>


пробвал через array_intersect
  $icq = array_intersect ($col_value, $row->name_goods);
print"<br>";
print "$icq";

но чегото нехочет

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования