Aucun élément dans mon tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aucun élément dans mon tableau

Re: Aucun élément dans mon tableau

par raoul » 18 août 2017, 11:18

merci, pour votre retour, mais je ne comprends pas ce que vous dite.
avant de mettre mon code en MVC, tout était dans la même page et tout fonctionnait.
voici le code que j'utilisais
//lister tous les messages
$listMessage = $bdd -> prepare("SELECT * from message");
$listMessage -> execute ();
$listok = $listMessage->fetchAll();
?>

<!-- -----------------------------DEBUT DU TABLEAU ------------------------------------------ -->
<div>
		<div class="page-header">
	    <h2  class="cgo-title_h2">LISTE DES MESSAGES</h2>
			<td align="right">
			 <select name="">
				 <option value="">Sélectionner année</option>
				 <option value="1993">1993</option>
				 <option value="1994">1994</option>
			 </select><br>

			</td>
	  </div>
			  <div class="tableau">
			     <table id="example" class="table table-striped table-bordered table-condensed">
			        <thead>
			          <tr>
			              	<th class="titre_tableau">Référence</th>
								      <th class="titre_tableau">Heure</th>
								      <th class="titre_tableau">Titre des messages</th>
								      <th class="titre_tableau">Orateurs</th>
								      <th class="titre_tableau">Sources</th>
								      <th class="titre_tableau">Thèmes</th>
								      <th class="titre_tableau">Numériser</th>
								      <th class="titre_tableau">Mastériser</th>
								      <th class="titre_tableau">MP3</th>
								      <th class="titre_tableau">Durée Message</th>
								      <th class="titre_tableau">Monteur</th>
											<th class="titre_tableau">Date Traitement</th>
											<th class="titre_tableau">actions</th>

			          </tr>
			        </thead>
							
			        <tbody>
									<?php foreach ($listok as $list) {?>
			          <tr>
			            <td class="element_tableau"><?= $list['references'] ?></td>
			            <td class="element_tableau"><?= $list ['heure'] ?></td>
			            <td class="element_tableau"><?= $list['titres'] ?></td>
			            <td class="element_tableau"><?= $list['orateurs'] ?></td>
			    				<td class="element_tableau"><?= $list['sources'] ?></td>
			    				<td class="element_tableau"><?= $list['themes'] ?></td>
									<td class="element_tableau"><?= $list['numeriser'] ?></td>
									<td class="element_tableau"><?= $list['masteriser'] ?></td>
									<td class="element_tableau"><?= $list['mp3'] ?></td>
									<td class="element_tableau"><?= ($list['duree']) ?></td>
									<td class="element_tableau"><?= $list['monteur'] ?></td>
			    				<td class="element_tableau"><?= $list['datetraitement'] ?></td>
			    				<td  align="center" ><a href="modifierMessage.php" class="btn btn-danger btn-xs" data-toggle="tooltip" data-placement="bottom" title="Modifier" ><span class="glyphicon glyphicon-edit"></span></a>&nbsp;&nbsp;
										<a href="supprimerMesage.php"class="btn btn-danger btn-xs" data-toggle="tooltip" data-placement="bottom" title="Supprimer"><span class="glyphicon glyphicon-trash"></span></a></td>
			          </tr>
								<?php } ?>
			        </tbody>
			      </table>
			</div>
[PHP]

Maintenant, j'ai mis mon mode PHP dans un fichier model, pour créer mon MVC, mais c'est quelque chose que je ne maitrise pas trop.
Dans mon fichier Model, j'ai crée un fichier avec une class messageModel, avec comme public fonction listerMessage.

[PHP]public function listerMessage(){
    $tableau = array();
    require ("../models/params.php");
    $db_base = "";
    $db_table = "";
    $db_conn = new PDO ( "mysql:host=" . $db_server . ";port=" . $db_port . ";dbname=" . $db_base, $db_user, $db_password );
    $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db_conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    $listMessage = $db_conn -> prepare("SELECT * from ". $db_table );
    $listMessage -> execute ();
    $listok = $listMessage->fetchAll();
    }
[PHP]

Pouvez-vous me dire comment je peux avoir la même chose qu'avant en utilisant le MVC ?

Merci

Re: Aucun élément dans mon tableau

par or 1 » 14 août 2017, 13:37

<td class="element_tableau"><?= $msg->references ?></td>
soit à un accès à la variable references de l'objet de classe messageModel. cette variable est "private" donc il n'est pas possible d'y accéder de l'extérieur. voir s'il n'y a pas une méthode public de la classe messageModel qui retourne cette valeur.

Aucun élément dans mon tableau

par raoul » 14 août 2017, 12:05

bonjour, je suis débutant dans PHP, mais je cherche beaucoup sur internet.
ce matin j'ai voulu mettre montre programme en POO, pour avoir un code plus efficace, mais maintenant çà ne marche plus.
pouvez-vous me dire pourquoi ?
j'ai un programme qui est sur la base du MVC
dans ma view j'ai le programme suivant :

Code : Tout sélectionner

<?php $msg->listerMessage();? <tr> <td class="element_tableau"><?= $msg->references ?></td>
dans mon model, j'ai le code suivant :

Code : Tout sélectionner

public function listerMessage(){ $tableau = array(); require ("../models/params.php"); $db_base = "adminpccsono"; $db_table = "message"; $db_conn = new PDO ( "mysql:host=" . $db_server . ";port=" . $db_port . ";dbname=" . $db_base, $db_user, $db_password ); $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db_conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); $listMessage = $db_conn -> prepare("SELECT * from ". $db_table ); $listMessage -> execute (); $listok = $listMessage->fetchAll(); foreach ($listok as $list =>$v){ $this->$list = $v; } }
à la fin de mon code, j'ai mis ce petit code pour instancier mon model
$msg = new messageModel();

je reçois le message suivant que je ne comprends pas :
Fatal Error : Uncaught Error. Cannot access private property messageModel//$references in listerMesage.php:58

Pouvez-vous me dire ce que j'ai oublié ?
merci