2013-09-28 6 views
0

Извините за относительно новый вопрос. Ive застрял в прошлый час, пытаясь понять, почему массив с именем $ propname не хочет печатать, когда я его перебираю. Далее следует мой кодошибка печати массива при переходе через него

$result = mysql_query("SELECT * FROM `player_info` WHERE `position` = 'THP'") or die(mysql_error()) ; 

while($row = mysql_fetch_array($result)) //create arrays 
{ 
    $id[] = $row['player_id'];  
    $propName[] = $row['name']; 
    $propLastName[]= $row['surname']; 
}//end while 

//create variables for looping 
$x = sizeof($propName); 
$index = 0; 

while($index < $x) //print variables 
{ 
    echo $propName[$index]; 
    $index ++; 
} 
+1

вы не 'echo'ing. –

+1

Совет при работе с PHP: в PHP очень редко используется конструктор, подобный вашему 'while ($ index <$ x)', чтобы закодировать массив. Гораздо более распространенным является 'foreach ($ propName as $ p) {echo $ p; } 'Нет необходимости хранить каждый из' player_id, name, surname' в массивах _separate_. Создайте многомерный массив _one_: 'while ($ row = mysql_fetch_array ($ result)) {$ results [] = $ row; } ' –

+0

жаль, что я забыл поставить эхо, когда писал код. Если я помещаю эхо в него, все равно не печатает :( –

ответ

0

Просто упростить код

$result = mysql_query("SELECT * FROM `player_info` WHERE `position` = 'THP'") or die(mysql_error()) ; 

while($row = mysql_fetch_array($result)) //create arrays 
{ 
    echo $row['name']; 
} 
+0

Спасибо, что сработали. Мне просто очень любопытно, почему приведенный выше пример не сработал. –

0
$result = mysql_query("SELECT * FROM `player_info` WHERE `position` = 'THP'") or    die(mysql_error()) ; 

while($row = mysql_fetch_assoc($result)) //create arrays 
{ 
    $id = $row['player_id'];  
    echo $propName = $row['name']; 
    $propLastName = $row['surname']; 
} 
Смежные вопросы