Je suis débutant et c'est la première fois que je m'inscris sur un forum... Merci à tous pour ce forum... J'espère ne pas faire d'impair!
j'ai construit un "site/blog" avec 10 catégories alimentées par des formulaires -> bases de données (id auto, dessins, sculptures, musique, expression etc.. )
je voudrais pouvoir modifier ensuite certaines tables de ces bases (titre, commentaire,.) simplement à partir d'un tableau qui me servirait de 'catalogue et suivi catalogue de mes oeuvres . j'ai trouvé cette discussion:
https://www.developpez.net/forums/d1...he-simple-bdd/
J'ai cherché à comprendre et adapter mais Je bloque. page blanche... comment envoyer et récupérer les $post, comment lancer l'update de la table? (en plus je n'ai pas les erreurs : pas d'accès au serveur d'hébergement de mon site)
Je poste ces débuts de codes.
- recherche.php - (tableau de recherche souhait d'édition "en direct" et validation par bouton ou [entrée] dans la zone concernée.)
- code.php - (fichier récupération du submit et post update dans la table pictures.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Recherche</title> <style> table{width:100%;border-collapse:collapse} table tr,table th,table td{border:1px solid black;} table tr td{text-align:center;padding:1em;} </style> </head> <body> <?php include('concom.php');?> <form method='post'> <input type='number' placeholder='recherche' name="recherche_valeur"/> <input type='submit' value="Rechercher"/> </form> <table> <thead> <tr><th>Id</th><th>Titre</th><th>Commentaire</th><th>Date</th></tr> </thead> <tbody> <?php $sql='select * from pictures'; $params=[]; if(isset($_POST['recherche_valeur'])){ $sql.=' where nom like :nom'; $params[':nom']="%".addcslashes($_POST['recherche_valeur'],'_')."%"; } $resultats=$connect->prepare($sql); $resultats->execute($params); if($resultats->rowCount()>0){ while($d=$resultats->fetch(PDO::FETCH_ASSOC)){ ?> <form name="inscription" method="post" action="chgtCom.php"> <tr> <td><input type='number' value='<? echo$d['Id']?>'name="Id"</td> <td><input type='textarea' value='<? echo $d['Titre']?>'name="titre"/></td> <td><input type='textarea' value='<? echo $d['Commentaire']?>' name="Commentaire"/></td> <td><input type='textarea' value='<? echo $d['Date']?>' name="Date"/></td> <input type="submit" name="valider" value="valider Id<?=$d['Id']?>"/> </form> </tr> <?php } $resultats->closeCursor(); } else echo '<tr><td colspan=4>aucun résultat trouvé</td></tr>'. $connect=null; ?> </tbody> </table> </body> </html>
- connexion.php - Il y a aussi un fichier de connexion PDO (je n'ai pas trop compris par rapport à if (!$connect)...) mais je chercherai avant d'éventuelles questions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php $postId= $post ['Id']; $postTitre=$post ['Titre']; $postCommentaire=$post ['Commentaire']; $postDate=$post ['Date']; $connect = mysqli_connect("localhost", "utilsateur", "mdp", "ma_base"); /* Vérification de la connexion */ if (!$connect) { echo "Échec de la connexion : ".mysqli_connect_error(); exit(); } /* Vérification de la connexion */ if(isset($_POST['valider'])) if (!$connect) { echo "Échec de la connexion : ".mysqli_connect_error(); exit(); } else { $query="UPDATE pictures SET Titre='$postTitre', Commentaire='$postCommentaire', Date='$postDate' WHERE id='$postId'"; mysql_query($query); echo "Les modification ont été enregistrées dans la base de données"; mysql_close(); } else { echo "Érreur" ; exit(); } mysqli_close($connect); ?>
Un petit rendu du tableau souhaité pour modifier les articles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php //connection_database.php $connect = new PDO('mysql:host=localhost;dbname=ma_base', 'utilisateur, 'mdp',[ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8" ]); ?>
Si c'est possible, j'en créerai pour chaque catégorie.
Voili ,voilà; J'espère ne pas être trop ridicule et que quelqu'un pourra me mettre sur la bonne voie...
Au plaisir de vous lire,
Partager