10 Datensätze aus Tabelle lesen

putzi

Gesperrt
Hallo!
Folgender Aufbau:
In der home.php Datei werden 3 Sachen included:
news1.php, news2.php, news3.php

Die erste (news1) enthält folgendes:

PHP:
<? 
include ('news.php'); 

echo ('<a class="link" href="'.$abfrage__4.'">'.$abfrage__1.'</a>');  

?>

news2.php:
PHP:
<? include ('news.php'); 

echo ($abfrage__2);

?>

news3.php:
PHP:
<? include ('news.php'); 

echo ($abfrage__3);

?>

news4.php
PHP:
<? include ('news.php'); 

echo ($abfrage__4);

?>

news.php
PHP:
<?
  mysql_connect("localhost",
  "putz","******")
  OR DIE ('Keine Verbindung zur Datenbank möglich!');
  mysql_select_db("news") OR DIE ('Diese Datenbank existiert nicht!');
  
  $abfrage1 = 'SELECT name FROM news';
  $abfrage2 = 'SELECT ort FROM news';
  $abfrage3 = 'SELECT datum FROM news';
  $abfrage4 = 'SELECT url FROM news';
  $abfrage5 = 'SELECT bilder FROM news';
  
  $abfrage_1 = mysql_query($abfrage1);
  $abfrage_2 = mysql_query($abfrage2);
  $abfrage_3 = mysql_query($abfrage3);
  $abfrage_4 = mysql_query($abfrage4);
  $abfrage_5 = mysql_query($abfrage5);
  
  $abfrage__1 = mysql_result($abfrage_1, 0);
  $abfrage__2 = mysql_result($abfrage_2, 0);
  $abfrage__3 = mysql_result($abfrage_3, 0);
  $abfrage__4 = mysql_result($abfrage_4, 0);
  $abfrage__5 = mysql_result($abfrage_5, 0);
  ?>


SO:
Dieses Sript ruft den 1. Datensatz aus der Tabelle auf.
Und wie geht das, damit ich die ersten 10 Datensätze abrufe?

Danke für eure Antworten!


edit:
Das Skript in der news.php Datei, ist für mich ziemlich umsändlich!
Kann man das nicht vereinfachen?
 
Mein Vorschlag:
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 );
	}

?>
 
Ok danke!

Aber wie mache ich es, dass z.B. "name" als $name ausgeben kann?

Also, dass jede Variable einzeln definiert wird, damit ich sie auch einzeln includen kann!
 
Hi

Das mit den 10 weis ich jetz nicht, könnt mir aber vorstellen, ins where eine Bedinung wie zB ID >1 AND <10 oder sowas zu schreiben.


Mitm vereinfachen.

Hast schon mal versucht als sql statement
SQL:
SELECT name, ort, datum, url, bilder FROM news

so zu schreiben?

Möglicherweise kannst dann an das Statement noch so erweitern,ka obs funktioniert
SQL:
WHERE ID < 10


dann würde name, ort, datum, url, bilder in einem Array stehen

lg Masda

//mit der Vorschau Funktion hakt was ^^
naja, wie's aussieht war ich zu langsam ^^
 
In meinem Beispiel ist jeder ausgewählte Datensatz als $row-Array verfügbar, wobei der Spaltenname als Schlüssel dient. Der Wert der Spalte „name“ steht damit in der $row['name']-Variable.
 
....

Da kenn ich mich jetzt leider nicht aus....

Es sieht so aus:

Veranstaltung..................Ort...........................Datum

(steht alles in einer Tabelle)

nun möchte ich unter Veranstaltung nur die ersten 10 sätze von "name" stehen haben!
Bei den anderen das gleiche, nur mit ort bzw. datum!

Also:
Unter Veranstaltung:
PHP:
<? 
include ('news.php');
echo $name
?>
Aber es muss der "name" zuerst in der news.php als variable existieren!
 
Kann mir das keiner erklären?

PHP:
<?
  mysql_connect("localhost",
  "putz","9304105")
  OR DIE ('Keine Verbindung zur Datenbank möglich!');
  mysql_select_db("news") OR DIE ('Diese Datenbank existiert nicht!');
  
  $abfrage1 = 'SELECT name FROM news LIMIT 10';
  $abfrage2 = 'SELECT ort FROM news LIMIT 10';
  $abfrage3 = 'SELECT datum FROM news LIMIT 10';
  $abfrage4 = 'SELECT url FROM news LIMIT 10';
  $abfrage5 = 'SELECT bilder FROM news LIMIT 10';
  
  $abfrage_1 = mysql_query($abfrage1);
  $abfrage_2 = mysql_query($abfrage2);
  $abfrage_3 = mysql_query($abfrage3);
  $abfrage_4 = mysql_query($abfrage4);
  $abfrage_5 = mysql_query($abfrage5);
  
  $abfrage__1 = mysql_result($abfrage_1, 0);
  $abfrage__2 = mysql_result($abfrage_2, 0);
  $abfrage__3 = mysql_result($abfrage_3, 0);
  $abfrage__4 = mysql_result($abfrage_4, 0);
  $abfrage__5 = mysql_result($abfrage_5, 0);
  ?>
wiso geht das eigentlich nicht?
 
ich bin halt nicht wirklich ein "Streber" :p

Ich mache lieber learning by doing!

Kannst mir jetzt nicht doch helfen?

Du kennst dich eh so gut aus, da müsste so ein "kleines" Skript kein Problem sein, oder? ;)
 
du hast zwar deine Resultate in der Variablen $abfrage__x stehen, aber damit kann man nichts anfangen. Dafür musste erst einen einzelnen Datensatz aus diesem Resultat rausbekommen.

Was Gumbo als erstes geschrieben hat ist deine Lösung. Erstens stellst du nur eine simple Anfrage und hast alle Felder, die du benötigst und zweitens haste ein Limit von 10.

In der While-Schleife haste dann immer den aktuellen Datensatz in der variablen $row stehen. Dann einfach mittels echo $row['name] zum Bleistift bekommste dann nacheinander die Namen deiner Datensätze raus. Vielleicht hilft es auch einfach mal ein Tutorial zu machen, wo es um News-Scripte steht. Da wird dies sicherlich nicht so erklärt, wie du es gerade versuchst.

edit: mit [phpf]mysql_fetch_assoc[/phpf] kannst du den nächst möglichen Datensatz aus dem Resultat holen. Dies ist halt auch der Knackpunkt bei dem Script von Gumbo.
 
Zurück