Werte auserhalb der Schleife ausgeben

Hallo. Ich habe folgenden Code, welcher an sich einwandfrei funktioniert, jedoch möchte ich auch Werte aus der album-Spalte auserhalb der Schleife ausgeben. (In jedem ausgewählten Datensatz steht der gleiche Albumname).

<?php

$db = (object)null;
$db->host = 'localhost';
$db->user = '+++';
$db->pass = '+++';
$db->name = '+++';

$db->con = mysql_connect($db->host,$db->user,$db->pass);
if(        !( $db->con && mysql_select_db($db->name,$db->con) ) ) die('Keine Verbindung zur DB');

$res = mysql_query("SELECT * FROM `Morkel_Alben` WHERE `album`='".$_GET['album']."' AND `jahr`='".$_GET['jahr']."' order by `id`",$db->con);
?>

<?php while($album = mysql_fetch_object($res)): ?>

<a href="bilder/albumuebersicht/jahr_<?=$album->jahr?>/<?=$album->album?>/<?=$album->bild?>.jpg" rel="lightbox[roadtrip]" title="<?=$album->text?>" ><img class="center" src="bilder/albumuebersicht/jahr_<?=$album->jahr?>/<?=$album->album?>/vorschau/<?=$album->bild?>.jpg" width="100" height="75" alt="" border="0" /></a>

<?php endwhile; ?>

Da ich die Sprache PHP nicht beherrsche und relativ zügig eine Lösung benötige, kann ich mit allgemeinen (und sicher immer gut gemeinten) Hinweisen nichts anfangen und freue mich, wenn Ihr mir gleich die passenden Codeschnipsel präsentieren könntet.

Noch einmal: Ich möchte <?=$xyz->album?> den Wert aus der SQL-Tabelle außerhalb der o. a. Schleife ausgeben.

Wie wärs denn mit:

<?php
$ergebnis = mysql_query("SELECT 'album' FROM `Morkel_Alben` WHERE `album`='".$_GET['album']."' AND `jahr`='".$_GET['jahr']."' order by `id`",$db->con);
echo $ergebnis;
?>

Prnzipiell finde ich das gut, jedoch erhalte ich als Ausgabe

“Resource id #4” und nicht den Inhalt der Spalte. Wo ist der fehler?

Oh da fehlt noch was probier mal:

<?php
$ergebnis = mysql_query("SELECT 'album' FROM `Morkel_Alben` WHERE `album`='".$_GET['album']."' AND `jahr`='".$_GET['jahr']."' order by `id`",$db->con);
while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->album;
    }
?>

Ich glaube anders gehts nicht aber ich bin bei mysql auch noch nicht so richtig gut dabei!

Gruß Nikolas

Auch nicht schlecht, jedoch habe ich nun zwei Schleifen. Ich benötige jedoch nur eine Schleife und einmal einen Wert aus einer Spalte (alle Spalten haben den gleichen Wert)

Dann speicher doch das Ergebnis in eine Variablen dann müßte es auch außerhalb der Schleife gehen.
Vieleicht so:

[code]<?php
$ergebnis = mysql_query(“SELECT ‘album’ FROM Morkel_Alben WHERE album=’”.$_GET[‘album’]."’ AND jahr=’".$_GET[‘jahr’]."’ order by id",$db->con);
while($row = mysql_fetch_object($ergebnis))
{
$album = $row->album;
}
?>

<?php echo $album; ?>

[/code]

Ich habe das Probiert, aber ich bekomme nur die Schleife mit dem Werten aus der Spalte “album”.

Es wird nichts außerhalb der Schleife angezeigt und die Konfiguration der Schleife ist auch relativ umständlich.

Danke für Dein Bemühen, aber ich bin wohl zu doof um das alles richtig umzusetzen. :cry:

vieleicht hast mal en link zur seite oder sagst mal genauer wie du es sonst irgendwo einsetzen willst, dann kann dir vieleicht jemand helfen.

Du hast den Wert doch in $_GET[‘album’] - warum also nicht nutzen?

echo $_GET['album'];

So, erstmal ein paar Sachen klären:
1.) NIEMALS NIE GET-Variablen direkt in den MySQL-Query übernehmen. Damit kann ein Haxx0r ganz schnell die Kontrolle über die Datenbank übernehmen
2.) Du kannst die Werte nicht außerhalb einer Schleife ausgeben, als ob sie in einer Schleife stehen (jedenfalls nicht wirklich einfach)

1.) Der Query, ein wenig sicherer:

$sql = sprintf("SELECT 'album' FROM `Morkel_Alben` WHERE `album`='%s' AND `jahr`=%u",
                mysql_real_escape_string($_GET['album'], $db->con), (int) $_GET['jahr']));

$ergebnis = mysql_query($sql, $db->con);

2.) Die Ausgabe (mit den Alternativsyntax von while):

while($row = mysql_fetch_object($ergebnis)): ?>

   <p>Album: <?=$row->album?></p>

<?php endwhile; ?>

So far…

PS: Allerdings ist das so nicht wirklich sinnvoll, da nur das Album ausgegeben wird, das du eh per GET übergibst