php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.01.2009, 17:05  
Neuer Benutzer
 
Registriert seit: 17.01.2009
Beiträge: 2
plutos befindet sich auf einem aufstrebenden Ast
Standard verschachtelte News ausgabe!

Hallo liebes Forum, ich hab mich hier angemeldet, da ich über die suche nichts direkt gefunden habe jedoch ein Problem habe, das mir gerade ein bisschen kopfzerbrechen bereitet!
und zwar hatte ich ein News Script geschrieben, zunächst mit der mysqli klasse.

news.tpl sieht so aus:
PHP-Code:
<fieldset>
<legend>News</legend>
<label>
<?php if (count($data['News'])) {
    foreach (
$data['News'] as $News) { ?>
    <h2><?php echo htmlspecialchars($News['Titel']); ?></h2>
    <div id="newsheader">News vom <?php echo htmlspecialchars($News['Datum']); ?></div>
    <p>
        <?php echo nl2br(htmlspecialchars($News['Inhalt'])); ?>
    </p>
    <?php if (count($News['Links'])) { ?>
    <div class="links">
        <font size="1">Links:
        <ul>
            <?php foreach ($News['Links'] as $Link) { ?>
            <li><a href="<?php echo $Link['URL']; ?>" target="_blank"><?php echo htmlspecialchars($Link['Beschreibung']); ?></a></li>
            <?php ?>
        </ul>
        </font>
    </div>
    <?php } else { ?>
    <p class="info">
        Keine Links vorhanden.
    </p>
    <?php ?>

<?php }
} else { 
?>
<p class="info">
    Es sind keine News vorhanden.
</p>
</label>
</fieldset>

<?php ?>
news.php sah so aus:
PHP-Code:
<?php
$ret 
= array();
$ret['filename'] = 'news.tpl';
$ret['data'] = array();
$sql 'SELECT
            *
        FROM
            News
        ORDER BY
            Datum DESC'
;
if (!
$result $db->query($sql)) {
    return 
$db->error;
}
$News = array();
$sql 'SELECT
            URL,
            Beschreibung
        FROM
            News_Link
        WHERE
            NewsID = ?'
;
if (!
$stmt $db->prepare($sql)) {
    return 
$db->error;
}
while (
$row $result->fetch_assoc()) {
    
$stmt->bind_param('i'$row['ID']);
    if (!
$stmt->execute()) {
        return 
$stmt->error;
    }
    
$Links = array();
    
$stmt->bind_result($URL$Beschreibung);
    while (
$stmt->fetch()) {
        
$Links[] = array('URL' => $URL,
                         
'Beschreibung' => $Beschreibung);
    }
    
$row['Links'] = $Links;
    
$News[] = $row;
}
$stmt->close();
$result->close();
$ret['data']['News'] = $News;
return 
$ret;
?>
Dies funktionierte einwandfrei..
nun ist auf dem server der seite die mysqli extension nicht aktiviert und kann auch nicht aktiviert werden, weshalb ich die ganze seite mit mysql_connect umgeschrieben habe. hat auch alles geklappt bis auf die news ausgabe:

news.php sieht gerade so aus:
PHP-Code:
<?php
$ret 
= array();
$ret['filename'] = 'news.tpl';
$ret['data'] = array();
$sql 'SELECT
            *
        FROM
            News
        ORDER BY
            Datum DESC'
;
$result mysql_query ($sql);
if (!
$result) {
    return 
mysql_error;
}
$News = array();
while (
$row mysql_fetch_assoc($result)) {
    
$News[] = array('ID' => $row['ID'],
                    
'Titel' => $row['Titel'],
                    
'Datum' => $row['Datum'],
                    
'Inhalt' => $row['Inhalt']);
    
$id $row['ID'];
    
$sql "SELECT
            URL,
            Beschreibung
        FROM
            News_Link
        WHERE
            NewsID = '$id'"
;
    
$stmt mysql_query($sql);
    if (!
$stmt) {
        return 
mysql_error;
    }
    
$Links = array();
    while (
$row mysql_fetch_assoc($stmt)) {
        
$Links[] = array('URL' => $row['URL'],
                         
'Beschreibung' => $row['Beschreibung']);
        
$row['Links'] = $Links;
        
$News[] = $row;
    }
}
$ret['data']['News'] = $News;

return 
$ret;
?>
jedoch wird hier keine korrekte newsausgabe ausgespuckt.
es steht immer einmal der news eintrag ( titel, datum, inhalt ) und dann bei links:
Notice: Undefined index: Links in C:\xampp\htdocs\UrbanVocalists02\templates\news.tp l on line 26

Keine Links vorhanden.

danach kommt eine news wo titel, datum, inhalt als undefined index angegeben wird und nun aber die passenden links zu der news darüber stehen.

ich spiel nun schon seit ein paar stunden damit rum, finde jedoch den fehler nicht und hab auch keinen hinweis im internet gefunden!
meine hoffnung nun: weiß jemand was falsch ist? warum wird nicht einmal die passende news mit den dazugehörigen links ausgespuckt?

vielen dank schonmal fürs lesen und hoffentlich für eine lösung!

gruß plutos

edit: ich hoffe das ich hier im richtigen unterforum bin, da ich in den reinen php unterforum nichts zu datenbank verbindungen fand, und es hier ja genau darum geht, das er die zweite abfrage mit der passenden id macht und das in das array speichert. wenns falsch ist bitte verschieben :/
plutos ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.01.2009, 17:52  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Hallo,

das hier

PHP-Code:
$row['Links'] = $Links
müsste das nicht o geschrieben werden.

PHP-Code:
$Links $row['Links']; 
Das würde zumindest die Undefined erklären.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 17.01.2009, 18:13  
Neuer Benutzer
 
Registriert seit: 17.01.2009
Beiträge: 2
plutos befindet sich auf einem aufstrebenden Ast
Standard

das undefined index ist aber auf die ausgabe in der .tpl datei bezogen. wenn ich es so schreibe wie du wolltest bekomm ich nen undefined index error für die zeile in der .php!
also dadurch ändert sich nichts, kommen nur noch fehler hinzu
plutos ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
News Slideshow fager PHP Tipps 2006 6 29.03.2006 22:30
[Erledigt] News editieren bzw. updaten Datenbanken 2 05.02.2006 01:49
scrip für news ausgabe - fehler PHP Tipps 2007 4 11.11.2005 09:02
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
PHP News in normale HTML Seite? PHP Tipps 2005-2 5 06.07.2005 19:45
RSS News aus einzelnen Kategorien PHP Tipps 2005 6 08.05.2005 14:56
Eine News weiter PHP Tipps 2005 4 19.02.2005 17:06
PHP News Script PHP Tipps 2005 7 11.01.2005 14:44
Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22
News Rubrik auf mehrere Seiten splitten PHP Tipps 2004 7 07.10.2004 12:29
Theorie Frage, News <-> Kommentare Paulo PHP Tipps 2004 5 03.09.2004 16:34
Möchte Seitenzahl unter Ausgabe der News PHP Tipps 2004 10 03.06.2004 20:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php news ausgabe

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:09 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum