Meiner Ansicht nach versuche ich, nur einmal den Benutzernamen oben auf der Seite und dann alle Nachrichten und die Nachrichtenzeiten unten anzuzeigen. Ich habe kein Problem mit dem foreach($message as $row)
Teil und das wird korrekt angezeigt. Allerdings kann ich nicht bekommen die Messages by <?php echo $message['user_username']; ?>
den Namen der Nachricht Plakat anzuzeigen. Jede Hilfe, wie ich dies tun kann, wird sehr geschätzt.
Aussicht
<html>
<head>
<title> View Messages </title>
</head>
<body>
Messages by <?php echo $message['user_username']; ?>:
<?php foreach($message as $row){?>
<?php echo $row->text;?>
<br>
<?php echo $row->posted_at;?>
<br><br>
<?php }?>
</body>
</html>
Regler
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class User extends CI_Controller {
public function view($name){
//Error reporting if no name entered in url
if ($name == NULL) {
echo "no name entered in url";
return;
} else {
$this->load->model('messages_model');
$message['message'] = $this->messages_model->getMessagesByPoster($name);
$this->load->view('ViewMessages',$message);
}
}
}
Modell
<?php
class Messages_model extends CI_Model {
public function __construct() {
parent::__construct();
$this->load->database();
}
//Return all messages posted by user with specified username
public function getMessagesByPoster($name) {
$sql = "SELECT user_username, text, posted_at FROM Messages WHERE user_username = ?;";
$query = $this->db->query($sql, $name);
return $query->result();
}
}
Versuche dies
Messages by <?php echo $message[0]['user_username']; ?>
^
Bcz Ihr Array produzieren immer Null-Index-Array
und dein Modell sollte sein
return $query->result_array();
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen