2010-05-21 7 views
0

J'ai tout tableauPHP Change tableau Over and Over

$num_list = array(42=>'0',44=>'0',46=>'0',48=>'0',50=>'0',52=>'0',54=>'0',56=>'0',58=>'0',60=>'0'); 

et je veux changer les valeurs spécifiques que je passe par une boucle

while(list($pq, $oin) = mysql_fetch_row($result2)) { 
     $num_list[$oin] = $pq; 
    } 

Je veux changer comme 58-403 plutôt alors 0.

Cependant, je finis toujours par obtenir juste le dernier changement et non des précédents. Ainsi, il finit toujours par être quelque chose comme 0,0,0,0,0,0,0,0,0,403 plutôt que 14,19,0,24,603,249,0,0,0,403

Comment puis-je faites-le pour qu'il ne l'écrase pas?

Merci

+1

Quelles sont les valeurs que '$ pq' et' $ oin' peuvent avoir? –

+0

Désolé, laissez-moi vous expliquer un peu plus. $ oin doit être une valeur dans le tableau (42,44,46,48,50, etcetc) $ pq peut être un nombre entier. – Steven

+0

Donc, vous souhaitez l'écraser uniquement avec des valeurs supérieures à "0" ou juste une valeur (vous sélectionnez) à la fois? – Thariama

Répondre

1

Eh bien, vous explicititly chaque entrée codé qui doit être remplacée par les valeurs de la base de données (même avec « 0 »). Vous pouvez remplacer les valeurs des non-zéro valeurs seulement:

while(list($pq, $oin) = mysql_fetch_row($result2)) { 
    if ($pq !== "0") $num_list[$oin] = $pq; 
} 
1

Je ne vous soit pas plus clair, je pensais que votre demande ce que. Cochez cette case

while(list($pq, $oin) = mysql_fetch_row($result2)) { 
     if($oin==58) { 
      $num_list[$oin] = $pq; 
     } 
    } 
1

Dans mes tests simulés (bien que vous êtes très rare avec des informations), Votre code fonctionne bien et produit le résultat que vous voulez. Vérifiez le deuxième paramètre de requête, que vous mettez dans le tableau - à savoir $ pg, c'est ce que vous devriez obtenir là 0,0,0,0,0 ... 403 OU Autre chose pourrait être que vos numéros $ oin ne sont pas présents dans $ les touches num_list. J'ai testé votre code avec le pilote mysqli, mais l'extraction de ressources fetch_row est la même. Gardez à l'esprit une chose de plus - si votre numéro d'enregistrement de requête est plus grand que $ numlist array, et que $ number ne sont pas uniques, votre $ numlist peut être facilement écrasé par les données suivantes, aussi $ numlist peut avoir beaucoup plus d'éléments indésirables supplémentaires.

Toujours essayer de fournir le contexte plus large de votre problème, il pourrait y avoir plusieurs façons de résoudre ce problème et l'aide arriverait plus tôt.