Tableau ou BDD

[Résolu]
Signaler
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Statut
Membre
Dernière intervention
15 janvier 2009
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
bonjour/bonsoir...
premièrement je m'excuse car je n'ai plus de Q sur mon clavier, et sera remplacé par un K. ( avant k'on me dise d'eviter en style SMS).



il y a peut etre ici, les regles sur la propriété d'image, mais désolé, j'ai prit la premiere image de google an tapant tableau, pour illustrer mon probleme.

http://www.environmentandresources.ca/proj-h2o/FC94816E-EF46-4554-AB49-1188AECF3A8C/filtration_tableau2b_fr.jpg

donc prenons l'image, Ce ke je voudrais c'est prendre une valeur de l'intersection entre la colonne et une ligne.
Par exemple, la ligne 4 et la colonne C. Ici la valeur ke je veux c'est 1.
Ca serait plus simple d'utilisé une BDD, ou tout simplement une fonction tableau array de php?
je pensais prendre array_intersect(), mais je suis pas sur.
Je vous demande pas de faire le programme a ma place, mais me dire kel serai la facon la plus facile entre BBD et un tableau, et si j'utilise un tableau, kelle fonction précisement.
Merci :)

8 réponses

Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hello,

hum ... pour ton problème, je pencherais plutôt pour SQL ...

Je trouve que c'est plus compliqué de chercher dans un array multidimentionel. Dans ce cas, tu dois verifier l'existance de $array[$recherche_y][$recherche_x], mais tu pers en puissance. En effet, si tu veux toutes les valeurs en [Y;x] c'est facile ($array[$recherche_y]), mais si tu veux les valeurs en [y;X], tu dois faire une boucle et tester l'existance en X, mettre dans un tableau ... etc ... bref, perso bof bof :s
Ensuite, l'édition ... aie ! Ouvrir, chercher, editer, ecrire ... supprimer aussi ... simple édition de fichier. Mais tu dois récuprer les valeurs, refaire du traitement, puis réecrire le tout dans un fichier.

Plus utile pour les petits script, ne demandant que très peu de gestion (gestion coté Admin). Consomera moins de ressources

Sinon, pour la gestion par array :
<li>Tu as la gestion des données :</li><li>A mon avis, seul isset() est réelement utile (tester si $array[Y][X] existe). Après tu as toutes les fonctions Array() (php.net) -> array_search, key, next, ...</li><li>tu peut utiliser la puissance du SPL à travers des class pour gérer tes scripts</li><li>puis, la gestion des fichiers</li><li>fopen, fwrite, fread, fclose / file_get_contents, file_put_contents / touch, unlink, ...
</li>
Par contre, coté SQL, c'est plus simple et surtout plus puissant.SELECT texte FROM ma_table WHERE X "C" AND Y "1"
Hop ! voila ! Tu as en plus l'avantage du stockage et tu peux faire plus de manipulation.
Par contre, a réservé pour les gros scripts avec de grosses/régulières éditions. -> consemera plus en bande passante mais plus puissant.

<li>Ici, juste besoin de SQL (MySQL (PhpMyAdmin) -> PDO, ProgeSQL, ...)</li>

Enfin, faut voir. Après tout depend de ton script.
<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
^^

Dans SQL ca te fais 100*100=10.000 valeur ... c'est pas exessif. Enfin, tout dépend aussi de comment es ton code.
Sinon, c'est possible avec un array ...
<?php

$array = array(
    1 => array(1, 2, 3, 4, 5),
    2 => array(1, 2, 3, 4, 5),
    3 => array(1, 2, 3, 4, 5),
    4 => array(1, 2, 3, 4, 5),
    5 => array(1, 2, 3, 4, 5),
);

$X = 3;
$Y = 2;

if( isset($array[$Y][$X]) )
{
    echo 'La valeur existe';
}

?>
Mais bon, faut adapté en fonction de ton code (j'utilise ça seulement pour ce qui est très rarement modifié, une sorte de cache quoi)

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Statut
Membre
Dernière intervention
15 janvier 2009

désolé, pour l'envoie de plusieurs message, ça a bloké, donc obligé d'utiliser la manière traditionnelle
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Statut
Membre
Dernière intervention
15 janvier 2009

ok merci de ta réponse tres complete.

En faite ce ke je voudrais faire, c'est le l'utilisateur choisit lui meme les colonne X et la ligne Y. et le coisement des 2 donnerais le résultat.
Mais je pense utilisé un table SQL,meme la table doit etre super grand car je doit mettre 100 valeur en colonne et 100 valeur en ligne.
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Statut
Membre
Dernière intervention
15 janvier 2009

par contre, par contre les valeur de la premiere colonne et de a premiere ligne sont les mêmes et certain valeur dans le tableau sont les meme aussi, il y auré pas moyen de simplfié par les variables??

ex:

|1|2|3|4|5
1|1|x x x
2|x|2|x x x
3 x x|3|x x
4 |4|
5..pareil..
juska 100
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Ah tu veux dire les valeurs 1;1, 2;2, 3;3, 4;4, ..., n;n

La, tu peux ne pas les spécifiés ou faire un truc du genre :SQL -> SELECT ... FROM ma_table WHERE Y $Y AND X $X
SI valeur existe
Prendre valeur
SINON
SI $X = $Y
Valeur = $X (ou $Y)
SINON
Il n'existe pas de valeur
<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Statut
Membre
Dernière intervention
15 janvier 2009

mais en faite, il y a peut etre plus simpa, car j'ai mon tableau fait par tableur excel ou opent office. il y aurais pas moyen de lire le fichier du tableur?
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hum, si !

Pas bête. Il existe des petits scripts sur PhpCs (ou cherche sur google).

Le principe c'est de lire le fichier, et de faire des explodes pour séparer les valeurs.
Ensuite, tu récupère un Array multidimentionnel  

<hr />Si ma reponse te convient, merci de l'accepter !