[RESOLU] Récupération id de news pour systeme de commentaire

Eléphanteau du PHP | 22 Messages

04 déc. 2015, 15:37

Bonjour a tous , je suis nouveau sur le forum et j'aimerais attirer votre attention sur un problème qui me prend la tête depuis quelques jours.

Alors voila je fais un mini réseau social ou l'on peux publier des status et j'essaie de mettre en place un système de commentaire , cependant je n'arrive pas a récuperer l'id de la news correspondant au commentaires que je veux ajouter.

Si quelqu'un peut m'aider
Le formulaire :

<form role="form" method="post" action="comment_micropost.php?micropost=<?= $micropost->m_id ; ?>">
<textarea placeholder="Commentaire..."style="resize:none;width:80%;"name="content" id="content"></textarea>

<input type="submit" id="comment"name="comment" value="Publier" class="btn btn-default btn-xs">

</form>


le code php pour l'insertion en bdd :

<?php

session_start();

require('includes/init.php');
require('includes/functions.php');
include('filters/auth_filter.php');



if(isset($_POST['comment'])){
if(!empty($_POST['comment']))

{

extract($_POST);

$q = $db->prepare('INSERT INTO comments(content, user_id,created_at,micropost_id) VALUES (:content ,:user_id,NOW(),?)');
$q->execute([
'content'=>$content,
'user_id' => get_session('user_id'),
'micropost_id'=>$micropost_id
]);
set_flash('Votre commentaire a été ajoutée');
}
}


redirect('profile.php?id='.get_session('user_id'));
?>

Mammouth du PHP | 2703 Messages

04 déc. 2015, 17:16

'micropost_id'=>$micropost_id
->
'micropost_id'=>$_GET['micropost']

Eléphanteau du PHP | 22 Messages

04 déc. 2015, 17:19

Merci ça marche nickel , les commentaires s'enregistre bien en bdd mais je ne sais pas comment les afficher , en fonction de l'id de la news bien sur ?
Une ame charitable ?
Je reçoit des messages d'erreurs :
"Array to string conversion in C:\wamp\www\blablaaaaa.php on line 36
La ligne 36
<?= get_comments($micropost->m_id) ?>
j'appelle une fonction :
if(!function_exists('get_comments')){


	function get_comments($micropost_id){
		global $db;
		$q = $db->prepare('SELECT users.id, users.pseudo FROM users 
			LEFT JOIN comments ON users.id = comments.user_id
			WHERE comments.micropost_id = ? ORDER BY comments.id DESC  ');
		$q->execute([$micropost_id]);

		
	return $q->fetchAll(PDO::FETCH_OBJ);
		
	}
}