PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 20-11-2009 16:57:06

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

[Résolu] Lister fichiers et comparer avec bdd

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

#2 20-11-2009 17:02:46

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#3 20-11-2009 18:13:06

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#4 20-11-2009 20:22:28

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

re,

non, c'était une mini illustration simpliste wink .... 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 wink
2eme méthode : plus simple, mais plus lourde wink
Enfin, ce n'est qu'un point de vu


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#5 21-11-2009 08:06:29

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#6 21-11-2009 20:37:07

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

Alnoss a écrit :

1ere méthode : un poil plus dure, mais plus legere car ne fait pas appel a la bdd wink
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

#7 25-11-2009 12:12:21

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#8 25-11-2009 13:20:42

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

Saluton,
Construis ton formulaire comme ça :

<td><input type="text" name="array[1]['nb']" value="'.$data['nb'].'"></td>
<td> <input type="checkbox" name="array[1]['value']" value="'.$data['titre'].'"></td>

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

#9 25-11-2009 14:35:06

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#10 25-11-2009 14:44:54

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#11 25-11-2009 14:58:06

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#12 25-11-2009 15:02:21

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#13 25-11-2009 15:03:42

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#14 25-11-2009 15:06:37

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

pour répondre à ta demande:
voila :


echo '<form name="maj_film" method="post" action="index.php?page=maj_bdd">';
echo '<br /><table  border="2" bordercolor="black" cellspacing="5"><tr align="center"  style="font-style: bold;">
<td width="350"><b>Titre</b></td>
<td width="150"><b>Nb</b></td>
<td width="150"><b><input type="checkbox" name="sAll" onclick="selectAll(this)" />Select All</b></td>
</tr>'
;
while ($data = mysql_fetch_assoc($req))
    {
echo '<tr>
<td><i>'
.$data['titre'].'</i></td>
<td><input type="text" name="array[1]["nb"]" value="'
.$data['nb'].'"></td>
<td> <input type="checkbox" name="array[1]["titre"]" value="'
.$data['titre'].'"></td>
</tr>'
;
}
echo '</table><br /><br />';
echo '<input type="submit" name="Submit" value="MAJ">';
echo '</form>';
 

Merci pour ton aide!

Hors ligne

#15 25-11-2009 15:23:17

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#16 25-11-2009 15:29:50

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

pardon, j'avais mal compris alors!
voilà:

<form name="maj_film" method="post" action="index.php?page=maj_bdd"><br /><table  border="2" bordercolor="black" cellspacing="5"><tr align="center"  style="font-style: bold;">
<td width="350"><b>Titre</b></td>
<td width="150"><b>Nb</b></td>
<td width="150"><b><input type="checkbox" name="sAll" onclick="selectAll(this)" />Select All</b></td>
</tr><tr>
<td><i>test</i></td>
<td><input type="text" name="array[1]["nb"]" value=""></td>
<td> <input type="checkbox" name="array[1]["titre]" value="test"></td>
</tr><tr>
<td><i>test2</i></td>
<td><input type="text" name="array[1]["nb"]" value=""></td>
<td> <input type="checkbox" name="array[1]["titre"]" value="test2"></td>
</tr><tr>
<td><i>test3</i></td>
<td><input type="text" name="array[1]["nb"]" value=""></td>
<td> <input type="checkbox" name="array[1]["titre"]" value="test3"></td>
</tr></table><br /><br /><input type="submit" name="Submit" value="MAJ"></form>

Dernière modification par Darkangel (25-11-2009 15:30:18)

Hors ligne

#17 25-11-2009 15:44:21

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Lister fichiers et comparer avec bdd

avec ce code HTML

<form name="maj_film" method="post" action="vardump.php"><br />
    <table  border="2" bordercolor="black" cellspacing="5">
        <tr align="center"  style="font-style: bold;">
            <td width="350"><b>Titre</b></td>
            <td width="150"><b>Nb</b></td>
            <td width="150">
                <b><input type="checkbox" name="sAll" onclick="selectAll(this)" />Select All</b>
            </td>
        </tr>
        <tr>
            <td><i>test</i></td>
            <td><input type="text" name="array[1][nb]" value=""></td>
            <td> <input type="checkbox" name="array[1][titre]" value="test"></td>
        </tr>
        <tr>
            <td><i>test2</i></td>
            <td><input type="text" name="array[2][nb]" value=""></td>
            <td> <input type="checkbox" name="array[2][titre]" value="test2"></td>
        </tr>
        <tr>
            <td><i>test3</i></td>
            <td><input type="text" name="array[3][nb]" value=""></td>
            <td> <input type="checkbox" name="array[3][titre]" value="test3"></td>
        </tr>
    </table>
    <br /><br /><input type="submit" name="Submit" value="MAJ">
</form>

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

#18 25-11-2009 15:57:41

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

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

#19 25-11-2009 16:02:39

Darkangel
Membre
Inscription : 20-11-2009
Messages : 128

Re : [Résolu] Lister fichiers et comparer avec bdd

j'ai trouvé désolé!
merci pour ton aide!

Dernière modification par Darkangel (25-11-2009 16:33:20)

Hors ligne

Pied de page des forums