Tableau ou BDD

Résolu
HaZeRtY55 Messages postés 10 Date d'inscription samedi 4 octobre 2003 Statut Membre Dernière intervention 15 janvier 2009 - 12 juin 2008 à 23:08
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 13 juin 2008 à 14:41
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

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
12 juin 2008 à 23:49
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 ! 
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
13 juin 2008 à 11:14
^^

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 ! 
3
HaZeRtY55 Messages postés 10 Date d'inscription samedi 4 octobre 2003 Statut Membre Dernière intervention 15 janvier 2009
12 juin 2008 à 23:10
désolé, pour l'envoie de plusieurs message, ça a bloké, donc obligé d'utiliser la manière traditionnelle
0
HaZeRtY55 Messages postés 10 Date d'inscription samedi 4 octobre 2003 Statut Membre Dernière intervention 15 janvier 2009
13 juin 2008 à 09:48
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HaZeRtY55 Messages postés 10 Date d'inscription samedi 4 octobre 2003 Statut Membre Dernière intervention 15 janvier 2009
13 juin 2008 à 11:41
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
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
13 juin 2008 à 12:12
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 ! 
0
HaZeRtY55 Messages postés 10 Date d'inscription samedi 4 octobre 2003 Statut Membre Dernière intervention 15 janvier 2009
13 juin 2008 à 13:33
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?
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
13 juin 2008 à 14:41
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 ! 
0
Rejoignez-nous