Limit d'un array ?

Résolu/Fermé
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 - 17 sept. 2010 à 14:56
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 17 sept. 2010 à 16:26
Bonjour,

je fais un requete comprenant excatement 4640 enregistrements

ma requete est :


$req = "SELECT * FROM candidat  ORDER BY Nom_Candidat";
$rs = mysql_query($req);

$_candidat = array();
while($row = @mysql_fetch_array($rs)){

    array_push($_candidat,$row);

}


la requete est ok, si je controle le tableau $row, il est bien rempli mais si je fais un print_r($_candidat); à la sortie du while, il est vide et ma page reste blanche comme si tout s'arretait après mon while ...

j'utilise le meme code a plusieurs endroits et çà ne pose pas de souci avec beaucoup moins d'enregistrements

de plus mon code marche en local et c'est sur le serveur que çà pose problème

donc je me demandais si il y avait une limite de tableau que je dépasse et qui provoquerais le problème

merci d'avance

3 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
17 sept. 2010 à 15:30
quelques idées en vrac:

il y a une limite de mémoire configurée dans php.ini je croi, donc peut etre que ca vient de la (ou httpd.conf, à verifier).
il se peut que ton code fasse une erreur de timeout à cause de la lenteur du traitement.
il se peut que la limitation soti due à ton moteur de base de données (mysql? oracle? autre ?)
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
17 sept. 2010 à 15:56
merci pour tes pistes Nabla's

- timemout impossible, la requete s'execute très rapidement , pas de souci de ce coté

donc cela dois venir d'une config php.ini ou httpd.conf, malheureusement, je n'ai pas accès
ou une limitation mysql (dans mon cas) , je n'aurais jamais pensé qu'il pouvait y en avoir une ...

j'ai trouvé une solution alternative

la requete de départ va chercher 26 champs donc un tableau de 4640 sous-tableau de 26 valeur apparemment çà faisait beaucoup

j'ai réduit au 3 champs qui m'intéressait (ceux qui m'intéressait) et çà marche

la premiere requete rempli une combobox de mes enregistrements

j'ai opté pour une seconde requete qui va chercher un unique enregistrement mais cette fois avec les 26 champs ...

la seconde affiche le choix de la combobox

si quelqu'un a une idée d'où provient la limitation, je suis interessé rie que par curiosité

je place en résolu meme si ce n'est qu'une solution alternative ...
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
17 sept. 2010 à 16:26
essayes sur ton serveur local de modifier la taille mémoire par script poru la diminuer un peu ... voir si ca reproduit le problème ... (voir là ou ca claque).

si c'est uen limitation du PHP, tu dois pouvoir réussier à obtenir des info sur ton serveur online avec des fonctions comme ini_get
0