Vous n'êtes pas identifié(e).
Bonjour a tous
je souhaiterais mettre en place un script me permettant de lister les fichiers de mon dd amovible et n'afficher que ceux qui ne sont pas deja enregistré dans ma base de donnée.
Comment procéder please d'autant que j'aimerais pouvoir generer ca sous forme de tableau
pour ce qui est de pouvoir lister tout, ca va, je sais faire, mais faire en sorte que ca affiche le dossier correspondant je vois pas et comparer avec la bdd sans avoir un script trop lourd non plus
Nom fichier | Dossier (catégorie du fichier) |
des conseils please!!!
merci d'avance
Hors ligne
Salut,
Puisque tu sais déjà lister les fichiers en local [cela laisse a penser que tu as un niveau suffisant], où est le soucis ?
1ere méthode : Il suffit de lister les fichiers stockés dans la bdd [avec une boucle WHILE] et de comparer tes résultats avec le premier listage
[if valeur_liste LIKE %valeur_table%]
2eme méthode : tu listes ton contenu du dd, tu stockes le tout dans la base, et tu compares les 2 tables....
Niveau script lourd, tu as 2 requêtes simples [dans le cas de la 2eme solutions : INSERT dans la table, et la requete de comparaison]
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
ok je pense que la premiere methode est adaptée en effet!
en gros si je comprends bien je liste les fichiers de mon dd, je les stockes dans un array
et via le while je fais un if in_array de compraison?
car je saisi pas trop ton if valeur_liste LIKE %valeur_table%] c'est une requete sql?
Hors ligne
re,
non, c'était une mini illustration simpliste .... dsl, c'est une habitude que j'ai pour mettre au clair mes scripts...
et t'as parfaitement compris le fonctionnement :
1ere méthode : un poil plus dure, mais plus legere car ne fait pas appel a la bdd
2eme méthode : plus simple, mais plus lourde
Enfin, ce n'est qu'un point de vu
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Saluton,
Il va falloir m'expliquer comment un algorithme parviendra à comparer le contenu d'un disque avec celui d'une table de base de données sans, je cite :
appel a la bdd
Je suis preneur d'un tel exploit.:lol:
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
1ere méthode : un poil plus dure, mais plus legere car ne fait pas appel a la bdd
u
Précision suite à une judicieuse remarque :
ne fait pas appel [une deuxième fois] à la bdd ... la première étant le listage lui même ^^
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
petit soucis avec mes arrays mais qui ne sont plus liés aux compairaisons!
j'ai un formulaire dans lequel je recupere les infos de la bdd mais le data['nb'] est génralement vide d'ou l'utilisateur doit le remplir
il me faut donc envoyer pour l'update a la fois le champ nb et le titre! je els ai donc reunis dan sle meme array
<td><input type="text" name="array[]" value="'.$data['nb'].'"></td>
<td> <input type="checkbox" name="array[]" value="'.$data['titre'].'"></td>
si je fais un print_r($_POST["array"]);
ca me donne:
Array
(
[0] => 19736
[1] => test
[2] => 19737
[3] => test2
)
comment procéder afin que ca me donne au final via un foreach exemple :
$nb = 19376
$titre = test
en effet je n'arrive pas a faire cla via mon foreach! une petite aide serait la bienvenue please
merci d'avance a vous!
Hors ligne
Saluton,
Construis ton formulaire comme ça :
et tu incrémentes l'index.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
merci mais ne comprennant pas vraiment le formulaire je n'arrive pas a incrementer correctment l'index.
je me trouve toujours avec une erreur style: Notice: Undefined offset: 0
Hors ligne
Que te donne un var_dump($_POST) ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
ca me donne ça:
array(2) {
["array"]=>
array(5) {
[0]=>
string(5) "11936"
[1]=>
string(4) "test"
[2]=>
string(5) "11937"
[3]=>
string(5) "test2"
[4]=>
string(0) ""
}
["Submit"]=>
string(3) "MAJ"
Hors ligne
Tu n'as pas mis dans le formulaire ce que je t'ai exposé.
Affiche le formulaire HTML, pour voir.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
exact car qaund je le fait, aucune info n'est transférée:
array(2) {
["array"]=>
array(1) {
[1]=>
string(0) ""
}
["Submit"]=>
string(3) "MAJ"
}
Dernière modification par Darkangel (25-11-2009 15:03:58)
Hors ligne
pour répondre à ta demande:
voila :
Merci pour ton aide!
Hors ligne
Non, ce n'est pas ce que je te demande, je voudrais voir le code HTML généré, celui que reçoit le navigateur.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
pardon, j'avais mal compris alors!
voilà:
Dernière modification par Darkangel (25-11-2009 15:30:18)
Hors ligne
avec ce code HTML
J'obtiens ceci
array(2) {
["array"]=>
array(3) {
[1]=>
array(2) {
["nb"]=>
string(3) "123"
["titre"]=>
string(4) "test"
}
[2]=>
array(2) {
["nb"]=>
string(3) "456"
["titre"]=>
string(5) "test2"
}
[3]=>
array(2) {
["nb"]=>
string(3) "789"
["titre"]=>
string(5) "test3"
}
}
["Submit"]=>
string(3) "MAJ"
}
Et pour l'instant je ne te parle pas des balises HTML obsolètes, il serait temps de passer à CSS
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
oui je sais faudra que je m'y mette mais pour l'instant me limite au coté php
pourquoi chez moi ca me donne!
array(2) {
["array"]=>
array(3) {
[1]=>
string(4) "test"
[2]=>
string(5) "test2"
[3]=>
string(5) "test3"
}
["Submit"]=>
string(3) "MAJ"
}
Hors ligne
j'ai trouvé désolé!
merci pour ton aide!
Dernière modification par Darkangel (25-11-2009 16:33:20)
Hors ligne