Zum Inhalt springen

PHP: Ergebnisse auswählen und weiter bearbeiten


Empfohlene Beiträge

Hallo Leute,

wenn ich eine Suche in meiner my-SQL Datenbank gemacht habe, bekomme ich ein Ergebniss mit ca. 10 Personen. Wie kann ich das Script so Programmieren, das ich jede Person einzeln auswählen kann, um z.B. weitere Informationen auf einer neuen Seite zu erhalten.

In Suchmaschinen kann ich ja auch die einzelnen Ergebnisse auswählen.

MfG

Patrick

Link zu diesem Kommentar
Auf anderen Seiten teilen

Beschreibe das Proglem etwas genauer.

Willst du, dass ein Datensatz extra angezeigt wird?

Wenn du mit mySQL arbeitest, musst du dein Ergebnis zeilenweise ausgeben. In PHP sähe das dann so aus:

 
$result=mysql_query("SELECT * FROM tabelle WHERE bedingung");
$anz=mysql_num_rows($result); //zählt die gefundenen Datensätze
if($anz>0){
for($i=0;$i<$anz;$i++){
$row=mysql_fetch_object($result);
echo $row->spaltenname1;
echo $row->spaltenname2;
...
}
}
[/PHP]

So solltest du eigentlich die einzelnen Datensätze filtern können. Und wenn du einen speziellen haben möchtest, muss du die Query spezifischer gestalten.

Gruß

Tobi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du willst also z.B. eine Personenliste erstellen und dort auf Klick mehr Infos über die Person auf einer extra Seite darstellen?

Mach in der Reihe wo der Datenastz liegt den du auf einer extra Seite nochmal anzeigen willst einen Link / Button der folgend aufgabaut ist (Beispiel):


<a href="index.php?action=details&show=<?php echo $id;?>">Details</a>

$id ist ganz einfach die ID deines Datensatzes, so kannst du in index.html mittels $action eine Weiche erstellen und ein Select-Statement schreiben, welches die ID namens $show in deiner Datenbank raussucht.

Ich vermute mal das es das ist was du willst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ganz einfach:

Hier mal etwas Code: Geb zu, etwas Viel Codem aber der stammt noch aus den Anfangszeiten der Programmierung.


<?php
function print_result_table($resultat)
{
//Tabellenanfang
echo "<center>\n";
echo "<table width=790 cellspacing=2 cellpadding=2 border=0 bgcolor=#006699>\n";
echo "<tbody>\n";
echo "<tr>\n";
echo "<td height=20 colspan=5 class=headline>\n";
echo "<div align=Center><font face=arial color=#eeeeee size=3><b>\n"; //
echo "Die gefundenen Produkte\n";
echo "</b>\n";
echo "</font>\n";
echo "</div>\n";
echo "</td>\n";
echo "</tr>\n";
echo "</tbody>\n";
echo "</table>\n";
echo "</center>\n";

//Felder (Überschriften) ertellen
echo "<tr>\n";
echo "<center>\n";
echo "<table width=790 cellspacing=2 cellpadding=2 border=0 bgcolor=#dee3e7>\n";
echo "<tbody>\n";
echo "<tr style=color: rgb(238,238,238); bgcolor=#d1d7dc>\n";

for ($i = 0; $i < mysql_num_fields($resultat);$i++)
{
//Spaltennamen ausgeben
echo "<th><font face=arial size=2 color=#006699>\n".mysql_field_name($resultat,$i)."</th>\n";
echo "</font>\n";
}


//Detail Spalte einfügen
echo "<th><font face=arial size=2 color=#006699>\nDetail</th>\n";
echo "</font>\n";
echo "</tr>";

//Einzelne Zeilen ausgeben
echo "<tr style=color: rgb(204,17,17); bgcolor=#ffffff>\n";

while ($reihe = mysql_fetch_row($resultat))
{
echo "<tr>\n";

//Spalten durchgehen
for ($i = 0;$i < mysql_num_fields($resultat);$i++)
{
if ($i == 3) //3 für Pfad
{
echo "<td align=Center bgcolor=#dee3e7>";
echo "<font color=#dd6900><a href=$reihe[$i]>Download</font></a></td>\n";
}
else
echo "<td align=Center bgcolor=#dee3e7><font face=arial size=2 color=#dd6900>$reihe[$i]</font></td>\n";
}

//Verlinke Details
echo "<td align=Center bgcolor=#dee3e7>";
echo "<font color=#dd6900><a href= detail.php?Produkt_ID=$reihe[0]&Beschreibung=$reihe[1]>Link</font></a></td>\n";
echo "</tr>\n";
}
echo "</table>\n";
}

$rubrik = $_POST['rubrik'];
$suche = $_POST['suche'];

$verbunden = mysql_connect("localhost",$USER,$PW);
if (!$verbunden)
{
echo "Fehler Connect";
}

if (! mysql_select_db("Download"))
{
echo "Fehler DB";
}

$sql = "SELECT distinct(P.Produkt_ID),P.Beschreibung,P.Größe,P.Pfad FROM ((Produkt P
INNER JOIN Details D ON P.Produkt_ID = D.Produkt_ID)
INNER JOIN Produkt_Rubrik PR ON P.Produkt_ID = PR.Produkt_ID)
INNER JOIN Rubrik R ON R.Rubrik_ID = PR.Rubrik_ID
WHERE R.Rubrik_ID = "; //1 and D.Beschreibung = 'test'";

$sql .= $rubrik;

//wenn Suche ausgefüllt wurde
if (! (empty($suche)))
{
$sql .= " AND D.Beschreibung like '%";
$sql .= $suche;
$sql .= "%' order by P.Produkt_ID";
}

$resultat = mysql_query($sql);

//HTML - Code
echo "<html>\n<body><br>\n";
echo "<body bgcolor=#E5E5E5 text=#dd6900 link=#dd6900 vlink=#dd6900 alink=#dd6900>\n";
echo "<center>";
echo "<b>";
echo "Die Dateien bitte mit \"Ziel speichern unter\" oder \"Verknüpfungsziel speichern unter \" herunterladen.";
echo "<br>";
echo "Die Endung .txt löschen !";
echo "</b>";
echo "</center>";
echo "<br>";
print_result_table($resultat);

print "<center><br>[<a href=\"javascript:history.back();\">Zurück</a>]</center><br>\n";

//HTML Code Ende
echo "</body>\n</html>\n";

//Systemdatum + Zeit
echo date ("D M d, Y H:i:s");

//DB - Verbindung beenden
mysql_close($verbunden);
?>
[/PHP]

Müßte gehen. Hat es zumindestens mal auf meiner Site

Gruß

UBAI - Kaum macht mans richtig, schon funktionierts !

Link zu diesem Kommentar
Auf anderen Seiten teilen


<?php


// Gibt alle Datensätze aus der Datenbank aus.

   echo "<br><b>Alle Daten im Überblick:</b> ";

   echo "<table border=0 cellspacing=1 cellpadding=3 >

         <tr BGCOLOR=#6C706D>

   	   <td>ID</td>

   	   <td>Name</td>";


   $result = mysql_query("SELECT * FROM $table order by name ASC");

   if ($num = mysql_num_rows($result))

   {

     // Ausgabe der Datensätze, wenn vorhanden

     for($i=0;$i < $num; $i++)

     {

      $nr          = mysql_result($result,$i,"ID");

      $name        = mysql_result($result,$i,"name");


      echo " <tr BGCOLOR=#2E4460>

                <td><FONT COLOR=\"#7FFF00\" >$nr</font></td>

                <td>- <A href=\"$PHP_SELF?nr=$nr&action=details\">$name</A>";

      echo "</tr>";

     } // end for

?>

Orientiert dich daran. Dann einfach mit $details die gewünschten Daten (die du über $nr bekommst) darstellen.

$details = $_GET['details']; // gewünschte Aktion

$nr = $_GET['nr']; // gesuchte ID


if ($action == "details")

 {

    echo "Details darstellen";

  }

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...