mysql auslesen, Wert ausgeben, Link erstellen und neue Seite generieren

Status
Nicht offen für weitere Antworten.

Linyx

Mitglied
Hallo :)

ich habe da ein problem bzw. eine frage und zwar möchte ich etwas aus einer datenbank auslesen das kann ich auch blos nun meine frage ich möchte immer fünf bilder nebeneinander laden lassen dadrunter sollen auch wieder 5 bilder ausgelesen werden wie mache ich das?

unbenanntkl7.jpg



dann soll hinter jedem bild auch ein link stehen und wenn man aufs bild klickt kommt man zu ner anderen seite.

würde das gerne so haben das ich etwas in die mysql datenbank einfüge und eine id generiert wird und dann die neuste id auf der seite wo alle bilder gelistet werden sollen ganz oben rechts steht. und hinter jedem bild ist dann ein link mit der id von der datenbank also so z.b. http://meineseite.de?site=56


also falls mich einer nicht verstanden hat auf der startseite wird z.B. ein bild mit der id 34 generiert und wenn man auf das bild klickt kommt man auf http://meineseite.de?site=34
dort wird dann aus der url die 34 rausgeholt und die datenbank gibt mir dann den namen der hinter der id34 steht aus. ich weiß nicht wie das funktioniert kann mir jemand helfen?

gruß
Linyx
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    18,2 KB · Aufrufe: 236
Dafür brauchst du doch nur alle Einträge aus der Datenbank auslesen und dann beim Auslesen alle 5 Zeilen einen Umbruch machen? Oder meinst du du brauchst den Quellcode für so eine Anwendung?
 
PHP:
<?php 

//Das wichtige SQL-Statement:
$sql_bilder="SELECT * FROM bilder";
$result_bilder=mysql_query($sql_bilder) or die(mysql_error()); // Query senden und Fehler abfangen




// die Ausgabe:

echo "<table border=0>";


$i= -1;
$k=1;

while($row_bilder=mysql_fetch_array($result_bilder)){

$i=$i+1;


if ($k==1)
echo "<tr>";

echo "<td>";
echo "<a href=http://meineseite.de?site=".row_bilder['id']."><img src=pfad></a>";
echo "</td>";
$k++;

if ($k==5)      //Hier kann der Wert für die Spalten geändert werden
{
echo "</tr>";
$k=1;
}



}
if ($k!=5)
echo "</tr>";

?>

</table>
 
Zuletzt bearbeitet:
Hallo Linyx,

das Script von Html erfüllt bereits seinen Zweck. Aber ich habe noch einen kleinen Abschnitt hinzugefügt. Wenn nämlich die Anzahl Bilder, die Du darstellen möchtest nicht ganzzahlig durch die Anzahl der Spalten teilbar ist, fehlen Dir am Ende einige Zellen. Das zerschießt Dir häufig das Aussehen Deiner Tabelle. Also, hier der angepaßte Code (ich hab die Variablennamen sprechend gestaltet, dann ist es leichter zu verstehen).

PHP:
<?php 

//	Alle Bildinfos laden
	$sql	= "SELECT * FROM tabelle_bilder WHERE 1";
	$result	= mysql_query($sql) or die(mysql_error());

//	Init
	$laufende_nummer = 0;
	$anzahl_spalten = 5;

//	Tabelle beginn
	echo "<table border=0>";

//	Tabellenzeilen erstellen
	while($row = mysql_fetch_assoc($result)){
		
		//	Neue Zeile?
			if ($laufende_nummer % $anzahl_spalten == 0){
				echo "<tr>";
			}
		
		//	Zelle mit Bild ausgeben
			echo "<td>";
			echo "<a href=http://meineseite.de?site=".$row['id']."><img src=".$row['pfad']."></a>";
			echo "</td>";
		
		//	$laufende nummer erhöhen
			$laufende_nummer++;
		
		//	Zeile beenden?
			if ($laufende_nummer % $anzahl_spalten == 0){
				echo "</tr>";
			}
	}

//	Anzahl Zellen korrigieren (fehlende Zellen leer ergänzen)
	if($laufende_nummer % $anzahl_spalten > 0){
		//	Anzahl fehlernder Zellen ermitteln
			$anzahl_fehlende_zellen = $anzahl_spalten - ($laufende_nummer % $anzahl_spalten);
		
		//	Zellen ausgeben
			for($i = 0; $i < $anzahl_fehlende_spalten; $i++){
				echo "<td>&nbsp;</td>";
			}

		//	Zeile beenden		
			echo "</tr>";
	}

//	Tabelle schließen
	echo "</table>";
?>
 
Hallo erstmal danke für eure Antworten :)

aber wie funktioniert das wenn jetzt jemand auf den link klickt das dort ne neue seite erscheind und dort ein link ist z.B. http://meineseite.de/?id=56 und dort dann eine video ausgegeben wird das im ordener http://meineseite.de/videos/56.flv ist

habe folgenden code:
<embed src="http://www.jeroenwijering.com/embed/mediaplayer.swf" allowscriptaccess="always" allowfullscreen="true" flashvars="height=470&amp;width=600&amp;file=http://meineseite.de/videos/56.flv&amp;id=56&amp;showdownload=true&amp;autostart=true" height="470" width="600">

die beiden zahlen 56 sollen halt dann immer anders sein z.B. das bild hat die id 23 dann soll der code so aussehen:
<embed src="http://www.jeroenwijering.com/embed/mediaplayer.swf" allowscriptaccess="always" allowfullscreen="true" flashvars="height=470&amp;width=600&amp;file=http://meineseite.de/videos/23.flv&amp;id=23&amp;showdownload=true&amp;autostart=true" height="470" width="600">

wie mache ich das den?
also nochmal man klickt aufs bild und wird zu einer neuen seite geleitet wo dann dre code drin steht und die id immer mit der bild id übereinstimmt?


LG
Linyx
 
Also ich würde das ganze dann so machen:

Du legst eine neue Seite an und speicherst diese im Root-Verzeichnis:

video.php
PHP:
<?php

$id= $_GET['site'];

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
</head>
   
 
<body>
       
<embed src="http://www.jeroenwijering.com/embed/mediaplayer.swf" allowscriptaccess="always" allowfullscreen="true" flashvars="height=470&amp;width=600&amp;file=http://meineseite.de/videos/<? echo $id; ?>.flv&amp;id=<? echo $id; ?>&amp;showdownload=true&amp;autostart=true" height="470" width="600">


</body>
</html>


Dann musst du noch den Link anpassen den du bei deinen Bildern generierst:

PHP:
//    Zelle mit Bild ausgeben
            echo "<td>";
            echo "<a href=http://meineseite.de/video.php?site=".$row['id']."><img src=".$row['pfad']."></a>";
            echo "</td>";
 
Zuletzt bearbeitet:
Wenn du sowas nochmal machst hau ich dich.
PHP:
<?

Das wird bald abgeschaltet sein und dann wundern sich wieder alle.

echo kann man auch gut bündeln und nur generell als Warnung, was über die URL kommt bitte bitte bitte bitte immer filtern.
 
Hallo habe noch ne kleine frage und zwar wie bekomme ich es hin das die höchste id als erstes angezeigt wird?

MFG
Linyx
 
Dazu musst du die Select-Abfrage etwas abändern:

// Alle Bildinfos laden
$sql = "SELECT * FROM tabelle_bilder ORDER BY spaltenname_wo_id_gespeichert DESC";
$result = mysql_query($sql) or die(mysql_error());


DESC= absteigend
ASC= aufsteigend
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück