Autor Zpráva
Nevyk
Profil
Dobrý den,
můj problém je následovný. Pokouším se vytvořit triviální interní poštovní systém na moje stránky pomocí PHP a MySQL databáze. Mám v databázi vytvořenou tabulku "messages", kde jsou atributy "to_id", "from_id" (obě odkazují cizím klíčem na tabulku users), date_time (primární klíč), ...

Pokouším se vypsat příchozí zprávy tímto skriptem:

<?
require ("includings/database.php");

$mails = mysql_fetch_row(mysql_query("SELECT * FROM messages WHERE to_id = '1'"));

?>

<div class="marker"><span class="main">Přehled zpráv hráče <? echo ($_SESSION['nick']) ?></span></div>

<? while ($mails) { ?>
<div class="block">
<div class="marker"><span class="sub"><? echo ($mails['subject']); ?></span></div>
</div>
<? }; ?>


Konkrétní číslo v klauzuli WHERE mám prozatím, aby problém nebyl v proměnných.

Na stránce se mi pak vypíše mnoho divů s textem: "Notice: Undefined index: subject in [cesta k souboru] on line 14" (Zde řádek 12)

Poradíte, prosím, co by s tím mohlo být? Díky.

P.S. Používám PHP 5.3.6 VC9, Apache 2.2.19, MySQL 5.5.13
panther
Profil
Nevyk:
Poradíte, prosím, co by s tím mohlo být?
neexistující sloupec subject v tabulce.
Nevyk
Profil
Ne, ten tam samozřejmě je. Je tam toho víc, ale není to důležitý pro tenhle problém. Ale mohl jsem napsat, že tam je sloupec subject, to je pravda.
Jake898
Profil
Zkus to takhle:
<?php
require ("includings/database.php");

$query = mysql_query("SELECT * FROM messages WHERE to_id = '1'");

echo '<div class="marker"><span class="main">Přehled zpráv hráče' . $_SESSION['nick'] . '</span></div>';

while ($message = mysql_fetch_assoc($query)){
	echo '<div class="block">';
	echo '<div class="marker"><span class="sub">' . $message['subject'] . '</span></div>';
	echo '</div>';
}


Funkce mysql_fetch_row vrací numerické pole, čili klíč subject vůbec v poli neexistuje.
Nevyk
Profil
JO, to funguje. Díky moc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0