Tableau ou BDD [Résolu]

Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Dernière intervention
15 janvier 2009
- - Dernière réponse : JoJo738
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
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 :)
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 juin 2010
3
Merci
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 ! 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de JoJo738
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 juin 2010
3
Merci
^^

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 ! 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de JoJo738
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Dernière intervention
15 janvier 2009
0
Merci
désolé, pour l'envoie de plusieurs message, ça a bloké, donc obligé d'utiliser la manière traditionnelle
Commenter la réponse de HaZeRtY55
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Dernière intervention
15 janvier 2009
0
Merci
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.
Commenter la réponse de HaZeRtY55
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Dernière intervention
15 janvier 2009
0
Merci
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
Commenter la réponse de HaZeRtY55
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 juin 2010
0
Merci
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 ! 
Commenter la réponse de JoJo738
Messages postés
10
Date d'inscription
samedi 4 octobre 2003
Dernière intervention
15 janvier 2009
0
Merci
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?
Commenter la réponse de HaZeRtY55
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
29 juin 2010
0
Merci
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 ! 
Commenter la réponse de JoJo738

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.