2010-08-14 8 views
0

Je veux appuyer sur la touche et de la valeur dans le tableau, mais je ne peux pasarray_push key => value, comment le faire?

$con = mysqli_connect('localhost','root','','wp') or die (mysqli_error('Error:')); 

$query = mysqli_query($con,'set names utf8')or die (mysql_error()); 
$qy = mysqli_query($con,"SELECT ID,post_title FROM wp_posts WHERE post_type='page' AND post_status='publish'")or die (mysql_error()); 
$arr = array(); 
while ($row = mysqli_fetch_array($qy)){ 
$id = "?page_id=".$row['ID']; 
$title = $row['post_title']; 
$arr[] = $id . "=>" . $title; 
array_push($arr, "$id" => "$title"); 
} 

plz help me ..

merci^_^

+0

duplication possible de [Using array_push() pour ajouter des éléments à un tableau sous la forme 'key => object'] (http://stackoverflow.com/questions/4772314/using-array-push-to-add -elements-à-un-tableau-dans-la-forme-de-clé-objet) –

Répondre

3

Voici ce que je ferais à la place:

$arr = array(); 
while ($row = mysqli_fetch_assoc($qy)){ 
    $id = $row['ID']; 
    $arr[$id] = $row['post_title']; 
} 

Et puis quand vous avez besoin de les imprimer:

foreach ($arr as $id => $title) { 
    echo "?page_id={$id}'>{$title}</a>"; 
    // or whatever, depends on how you want to print it 
} 

Ne pas stocker des informations inutiles (par exemple: ?page_id=) dans des tableaux.

+0

Maintenant, je peux le faire .. merci beaucoup .. ^ _^ – AboSami

+0

merci beaucoup mcuh .. Je le ferai^_ ^ – AboSami

2

Est-ce que vous voulez faire $arr[$id] = $title? Ou voulez-vous ceci:

if (!isSet($arr[$id])) { 
    $arr[$id] = array(); 
} 
$arr[$id][] = $title; 

L'ancien fera en sorte que $arr contient $id=>$title. Ce dernier fera en sorte que $arr contienne $id=>array($title1,$title2,$title3) etc s'il y a des multiples.

+0

merci beaucoup, le résultat est l'échec .. c'est le résultat $ My_links = array ('2' => ' Array ',' 4 '=>' Array ',' 6 '=>' Array ',' 9 '=>' Array ', '11' => 'Array', '13 '=>' Array ', '45 '=>' Array '); – AboSami

+1

@AboSami: Oui, si vous utilisez le second bit de code, cela * devrait * être le résultat. Si vous utilisez simplement $ arr [$ id] = $ title', ce ne sera pas le cas, mais vos identifiants devraient être uniques! – Borealid

Questions connexes