10 Datensätze aus Tabelle lesen

PHP:
<?php

    mysql_connect('localhost', 'putz', '******')
        or die('Verbindungsaufbau zum Datenbankserver schlug fehl!');
    mysql_select_db('news')
        or die('Auswahl der Datenbank schlug fehl!');

    $query = '
        SELECT
                `name`,
                `ort`,
                `datum`,
                `url`,
                `bild`
          FROM
                `news`
          LIMIT
                10
        ';
    $result = mysql_query($query)
        or die(mysql_error());

    while( $row = mysql_fetch_assoc($result) ) {
        print_r( $row );
    }

?>

mal schaun...
Was muss ich bei diesem Skript jetzt noch umcoden, damit variablen definiert werden?
 
putzi hat gesagt.:
PHP:
<?php
    while( $row = mysql_fetch_assoc($result) ) {
        print_r( $row );
    }

?>

mal schaun...
Was muss ich bei diesem Skript jetzt noch umcoden, damit variablen definiert werden?

Die stehen dir genau da zur verfügung....

und zwar:

PHP:
$row['name']
$row['ort']
$row['datum']
$row['url']
$row['bild']

Wie du in der query halt eben angegeben hast....
 
Eigentlich genau so wie Gumbos Script.

PHP:
<?php 

    mysql_connect('localhost', 'putz', '******') 
        or die('Verbindungsaufbau zum Datenbankserver schlug fehl!'); 
    mysql_select_db('news') 
        or die('Auswahl der Datenbank schlug fehl!'); 

    $query = ' 
        SELECT 
                `name`, 
                `ort`, 
                `datum`, 
                `url`, 
                `bild` 
          FROM 
                `news` 
          LIMIT 
                10 
        '; 
    $result = mysql_query($query) 
        or die(mysql_error()); 

    while( $row = mysql_fetch_assoc($result) ) { 
        echo ('<a class="link" href="'.$row["url"].'">'.$row["name"].'</a>');
        echo $row["ort"];
        echo $row["datum"];
        //usw.
    } 

?>

Das hättest du aber auch selber schaffen können. Ist auch nicht gut wenn du dann einfach den Code kopierst und verwendest. Das hier ist echt nicht schwer und dann musst du dir halt ein bisschen mehr Mühe geben und z.B. mal im Manual nachschauen oder in anderen Tutorials.
 
Zuletzt bearbeitet:
ok Danke!

HTML:
<table align="center" valign="top" width="775">
  <tr> 
    <td align="right">
      <div align="center"><b><a class="text">Veranstaltung</a></b></div>
    </td>
    <td align="right">
      <div align="center"><b><a class="text">Ort</a></b></div>
    </td>
    <td align="right">
      <div align="center"><b><a class="text">Datum</a></b></div>
    </td>
  </tr>
  <tr> 
    <td align="center">
      <a class="text"><? include ('news.php'); echo $name_link ?></a>
    </td>
    <td align="center">
      <a class="text"><? include ('news.php'); echo $ort ?></a>
    </td>
    <td align="center"> 
      <a class="text"><? include ('news.php'); echo $datum ?></a> 
    </td>
  </tr>
</table>

habe das jetzt so!

Aber es wird nur der zuletzt eingegebene Datensatz angzeigt!
 
Sag doch gleich, dass du die Daten tabellarisch ausgegeben haben möchtest.
PHP:
<?php

	mysql_connect('localhost', 'putz', '******')
		or die('Verbindungsaufbau zum Datenbankserver schlug fehl!');
	mysql_select_db('news')
		or die('Auswahl der Datenbank schlug fehl!');

	$query = '
		SELECT
		        `name`,
		        `ort`,
		        `datum`,
		        `url`,
		        `bild`
		  FROM
		        `news`
		  LIMIT
		        10
		';
	$result = mysql_query($query)
		or die(mysql_error());

	echo '<table>';
	echo '<tr><th>Veranstaltung</th><th>Ort</th><th>Datum</th></tr>';
	while( $row = mysql_fetch_assoc($result) ) {
		echo '<tr><td><a href="'.$row['url'].'">'.$row['name'].'</a></td><td>'.$row['ort'].'</td><td>'.$row['datum'].'</td></tr>';
	}
	echo '</table>';

?>
 
Hab das mal so gemacht:
PHP:
<?php 

    mysql_connect('localhost', 'putz', '*****') 
        or die('Verbindungsaufbau zum Datenbankserver schlug fehl!'); 
    mysql_select_db('news') 
        or die('Auswahl der Datenbank schlug fehl!'); 

    $query = ' 
        SELECT 
                `name`, 
                `ort`, 
                `datum`, 
                `url`, 
                `bilder` 
          FROM 
                `news` 
          LIMIT 
                10 
        '; 
    $result = mysql_query($query) 
        or die(mysql_error()); 

    while( $row = mysql_fetch_assoc($result) ) { 
        $name_link = ('<a class="link" href="'.$row["url"].'">'.$row["name"].'</a>');
        $ort = $row["ort"];
        $datum = $row["datum"];
        $url = $row["url"];
        $bilder = $row["bilder"];
    } 
    
    while( $row = mysql_fetch_assoc($result) ) {
        echo '<td>'.$row['name'].'</td><td>'.$row['ort'].'</td><td>'.$row['datum'].'</td>';
    }


?>

Die Variablen sollten bleiben, da ich sie wo anders auch benötige!

So schaut das andere aus:
HTML:
<table align="center" valign="top" width="775">
  <tr> 
    <td align="right">
      <div align="center"><b><a class="text">Veranstaltung</a></b></div>
    </td>
    <td align="right">
      <div align="center"><b><a class="text">Ort</a></b></div>
    </td>
    <td align="right">
      <div align="center"><b><a class="text">Datum</a></b></div>
    </td>
  </tr>
  <tr> 
    <? include ('news.php'); ?>
  </tr>
</table>

Aber es wird nichts angezeigt!

Im Quelltext siehts so aus:
HTML:
<tr> 
    <td align="right">

      <div align="center"><b><a class="text">Veranstaltung</a></b></div>
    </td>
    <td align="right">
      <div align="center"><b><a class="text">Ort</a></b></div>
    </td>
    <td align="right">
      <div align="center"><b><a class="text">Datum</a></b></div>

    </td>
  </tr>
  <tr> 
       </tr>
</table>

also, es werden keine daten abgerufen...
 
Es wird wahrscheinlich nichts ausgegeben, da Du $result schon vor der Ausgabe-Schleife durchlaeufst. Dadurch wird die 2. Schleife ueberhaupt nicht gestartet weil kein weiteres Element aus $result geholt werden kann.
Pack einfach Deine Ausgabe mit in die erste Schleife. Selbst wenn das Script so funktionieren wuerde wuerdest Du mit der Technik Zeit verschwenden da alle Datensaetze 2 Mal durchlaufen wuerden.

Weiterhin solltest Du
PHP:
<? include ('news.php'); ?>
in
PHP:
<?php include ('news.php'); ?>
abaendern, da die Short-Open-Tags (<?) deaktiviert werden koennen.
 
@gumbo
Danke, jetzt funkts!

1 Problem habe ich dennoch:
Wie mache ich aus dem:

PHP:
<?php

    mysql_connect('localhost', 'putz', '******')
        or die('Verbindungsaufbau zum Datenbankserver schlug fehl!');
    mysql_select_db('news')
        or die('Auswahl der Datenbank schlug fehl!');

    $query = '
        SELECT
                `name`,
                `ort`,
                `datum`,
                `url`,
                `bildER`
          FROM
                `news`
          LIMIT
                10
        ';
    $result = mysql_query($query)
        or die(mysql_error());

    echo '<table align="center" valign="top" width="650">';
    echo ' <tr>
            <th align="left"><a class="text">Veranstaltung</a></th>
            <th><a class="text">Ort</a></th>
            <th><a class="text">Datum</a></th>
           </tr>';
    while( $row = mysql_fetch_assoc($result) ) {
        echo '<tr>
                <td align="left">
                 <a class="link" href="'.$row['url'].'">'.$row['name'].'</a>
                </td>
                <td align="center"><a class="text">'.$row['ort'].'</a></td>
                <td align="center"><a class="text">'.$row['datum'].'</a></td>
              </tr>';
    }
    echo '</table>';

?>
...
dass die zuletztgeschriebenen Einträge als 1. kommen?
Jetzt werden die Datensätze normal aufgelistet.
Wie mache ich es damit die alten Beiträge unten sind?
 
Zuletzt bearbeitet:
Zurück