php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-03-2005, 02:36
avatarX
 Newbie
Links : Onlinestatus : avatarX ist offline
Registriert seit: Mar 2004
Beiträge: 5
avatarX ist zur Zeit noch ein unbeschriebenes Blatt
Standard Mehrere Zeilen einer MySQL Tabelle ausgeben...

Hiho,

ich hab mal wieder ein Problem beim Auslesen einer MySQL Tabelle.
Und zwar bekomme ich es nicht hin das er mir mehr als nur die erste Zeile der Tabelle ausliesst. Es handelt sich um ein News Script was die 10 letzten Einträge anzeigen sollen.

Hier mal mein PHP Script:

PHP-Code:
<?php

error_reporting
(E_ALL);
include 
'_css.php';
include 
'_mysql.php';

// Verbindung mit mysql Server aufnehmen

@mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
        die(
"Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    
mysql_select_db(MYSQL_DATABASE) OR
        die(
"Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

// Daten werden ausgelesen
               
$sql "SELECT
             id,
               titel,
                inhalt,
            datum,
            author,
               rubrik,
               kommentare,
            links
        FROM
             news
        ORDER BY
            id DESC
            LIMIT 10"
;
    
$result mysql_query($sql) OR die(mysql_error());
    
while(
$row mysql_fetch_assoc($result)) {

// Daten werden in Variablen Gespeichert
          
        
$ID $row['id'];
        
$TITEL $row['titel'];
        
$INHALT $row['inhalt'];
        
$DATUM $row['datum'];
        
$AUTHOR $row['author'];
        
$RUBRIK $row['rubrik'];
        
$KOMMENTARE $row['kommentare'];
        
$LINKS $row['links'];
    }

// Template Ausgabe
    
require_once "../vlib/vlibTemplate.php";

    
$tmpl = new vlibTemplate('templates/news_view.html');
            
    
$tmpl->setVar('titel'$TITEL); 
    
$tmpl->setVar('inhalt'$INHALT); 
    
$tmpl->setVar('datum'$DATUM);
    
$tmpl->setVar('author'$AUTHOR);
    
$tmpl->setVar('rubrik'$RUBRIK);
    
$tmpl->setVar('kommentare'$KOMMENTARE);
    
$tmpl->setVar('links'$LINKS);
     
    
$tmpl->pparse();
        
?>
Klar so wird nur die erste ID aus der Tabelle ausgegeben aber ich hab ich keinen ansatz wie ich es richtig hinbekomme...

Hier nochmal das Template:

<table width="430" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" class="titel">{tmpl_var name='titel'}</td>
</tr>
<tr>
<td width="60" background="images/datum_etc.jpg" class="datum_inhalt">Datum:</td>
<td width="135" background="images/news_fensterOben.jpg" class="datum2">{tmpl_var name='datum'}</td>
<td width="235" rowspan="3" align="left" valign="top" background="images/news_teamhonkz.jpg"></td>
</tr>
<tr>
<td background="images/datum_etc.jpg" class="datum_inhalt">Author:</td>
<td background="images/news_fensterMitte.jpg" class="datum2">{tmpl_var name='author'}</td>
</tr>
<tr>
<td background="images/datum_etc.jpg" class="datum_inhalt">Link:</td>
<td background="images/news_fensterUnten.jpg" class="datum2">{tmpl_var name='links'}</td>
</tr>
<tr>
<td colspan="3" class="news_mitte"></td>
</tr>
<tr align="left" valign="top">
<td height="150" colspan="3" class="inhalt">{tmpl_var name='inhalt'}</td>
</tr>
<tr background="images/news_kommentar.jpg">
<td colspan="3" class="datum">Kommentar: ({tmpl_var name='kommentare'}) </td>
</tr>
<tr>
<td colspan="3" class="titel"></td>
</tr>
</table>

Ich hoffe ihr könnt mir helfen.

mfg
Marco
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 15-03-2005, 09:35
hofuwe
 Newbie
Links : Onlinestatus : hofuwe ist offline
Registriert seit: Jul 2004
Ort: Kutenholz
Beiträge: 23
hofuwe ist zur Zeit noch ein unbeschriebenes Blatt
hofuwe eine Nachricht über ICQ schicken hofuwe eine Nachricht über Yahoo! schicken
Standard

aus deiner tabelle werden alle zeilen ausgelesen, allerdings hast du nach beenden der while-schleife auch nur einen wert in den variablen, und zwar den letzten. die varablen werden doch bei jedem durchlauf neu belegt.
Mit Zitat antworten
  #3 (permalink)  
Alt 15-03-2005, 09:36
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

1. du schließt die Schleife zu früh ab, bzw. du mußt die Ausgabe in die Schleife rein bringen.
2. oder du speicherst die Werte in Arrays und übergibst sie dem Template
3. in beiden Fällen muß dein Template mit den Daten umgehen können, oder du mußt das Template mehrmals inkludieren, was ich für Unfug halte.
Mit Zitat antworten
  #4 (permalink)  
Alt 15-03-2005, 09:48
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

statt
PHP-Code:
while($row mysql_fetch_assoc($result)) {

// Daten werden in Variablen Gespeichert
          
        
$ID $row['id'];
        
$TITEL $row['titel'];
        
$INHALT $row['inhalt'];
        
$DATUM $row['datum'];
        
$AUTHOR $row['author'];
        
$RUBRIK $row['rubrik'];
        
$KOMMENTARE $row['kommentare'];
        
$LINKS $row['links'];
    } 
eher
PHP-Code:
[...]
$daten[] = $row['id'];
$daten[] = $row['titel'];
$daten[] = $row['inhalt'];
$daten[] = $row['datum'];
$daten[] = $row['author'];
$daten[] = $row['rubrik'];
$daten[] = $row['kommentare'];
$daten[] = $row['links']; 
So kommst du, wie auch von asp2php geschrieben, auch nach Verlassen der Schleife noch an alle Daten. Bei deiner Methode ist natürlich nur der letzte Datensatz vorhanden, da du die Vars bei jedem Schleifendurchlauf wieder neu schreibst.
Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #5 (permalink)  
Alt 17-03-2005, 02:33
avatarX
 Newbie
Links : Onlinestatus : avatarX ist offline
Registriert seit: Mar 2004
Beiträge: 5
avatarX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die schnellen Antworten, bin heute erst wieder Online gekommen.

Habe jetzt allerdings eine andere möglichkeit gefunden die Daten an das Template zu übergeben die um einiges schlanker ist als die Alte.

Hier mal der Code:

PHP-Code:
<?php

//  Alle Fehler Anzeigen

    
error_reporting(E_ALL);

//  Includieren der einzelnen Programm Elemente

    
include '_css.php';
    include 
'_mysql.php';
    require_once 
"../vlib/vlibTemplate.php";

//  Template System wird eingebunden

    
$tmpl = new vlibTemplate('templates/news_view.html');

//  Verbindung mit mysql Server aufnehmen

    
@mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
        die(
"Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    
mysql_select_db(MYSQL_DATABASE) OR
        die(
"Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

//  Daten werden ausgelesen
               
    
$sql "SELECT
                 id,
                   titel,
                    inhalt,
                datum,
                author,
                   rubrik,
                   kommentare,
                    links
            FROM
                     news
            ORDER BY
                datum DESC
                    LIMIT 10"
;
        
    
$result mysql_query($sql) OR die(mysql_error());



    
$tmpl->setdbloop('table_data'$result);



        
$tmpl->pparse();
    
?>
Hier nochmal der HTML Code:

<table width="430" border="0" cellspacing="0" cellpadding="0">

<!-- rows / DB-data -->

<tmpl_loop name='table_data'> <!-- row start -->

<tr>
<td colspan="3" class="titel">{tmpl_var name='titel'}</td>
</tr>
<tr>
<td width="60" background="images/datum_etc.jpg" class="datum_inhalt">Datum:</td>
<td width="135" background="images/news_fensterOben.jpg" class="datum2">{tmpl_var name='datum'}</td>
<td width="235" rowspan="3" align="left" valign="top" background="images/news_teamhonkz.jpg"></td>
</tr>
<tr>
<td background="images/datum_etc.jpg" class="datum_inhalt">Author:</td>
<td background="images/news_fensterMitte.jpg" class="datum2">{tmpl_var name='author'}</td>
</tr>
<tr>
<td background="images/datum_etc.jpg" class="datum_inhalt">Link:</td>
<td background="images/news_fensterUnten.jpg" class="datum2">{tmpl_var name='links'}</td>
</tr>
<tr>
<td colspan="3" class="news_mitte"></td>
</tr>
<tr align="left" valign="top">
<td height="150" colspan="3" class="inhalt">{tmpl_var name='inhalt'}</td>
</tr>
<tr background="images/news_kommentar.jpg">
<td colspan="3" class="datum">Kommentar: ({tmpl_var name='kommentare'}) </td>
</tr>

<!-- row end -->
</tmpl_loop>

</table>

_____________________________________________________

Naja wenns nur immer so einfach sein könnte.

Trotzdem danke für euer Bemühen

mfg
Marco
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:01 Uhr.