Verlinkung mit Datensatz

newmedix

Grünschnabel
Hi leute,

habe hier einen Beitrag vom 03.01.2004 über Verlinkung von Datensätzen gefunden. barney hh hatte das selbe Problem wie ich jetz! Da ich aber erst seit Weihnachten (habe mir Bucher über PHP schenken lassen) PHP erlerne fällt es mir schwer alles genau nachzuvollziehen! Kann es jemand noch leichter erklären?
Ich will also von 30 Datensätzen eine Verlinkung zu einem von diesen um mehr Infos einpacken zu können.

Gruss newmedix
 
Also ich habe einen Datensatz erstellt , auslesenlassen unktioniert!
Jetzt mochte ich aber einen beliebigen Datensatz aus diesen anzeigen lassen.
Dies sollte mit einer Verlinkung gehen.
PHP:
<?php
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

if (isset($HTTP_GET_VARS['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $HTTP_GET_VARS['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

$queryString_Recordset1 = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false && 
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . implode("&", $newParams);
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);

$queryString_Recordset1 = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false && 
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . implode("&", $newParams);
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?>


<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#990000" link="#FFFFFF" vlink="#FFFFFF" alink="#000000" leftmargin="0" topmargin="0">
<table width="88%" border="0" cellpadding="5">
  <tr> 
    <td><div align="center"></div></td>
    <td><div align="center"><font color="#FFFFFF" size="1" face="Geneva, Arial, Helvetica, sans-serif"><strong>Artikelname</strong></font></div></td>
    <td><div align="center"><font color="#FFFFFF" size="1" face="Geneva, Arial, Helvetica, sans-serif"><strong>Artikelnummer</strong></font></div></td>
    <td colspan="3"><div align="center"><font color="#FFFFFF" size="1" face="Geneva, Arial, Helvetica, sans-serif"><strong>Kurzbeschreibung</strong></font></div></td>
    <td><div align="right"><font color="#FFFFFF" size="1" face="Geneva, Arial, Helvetica, sans-serif"><strong>Preis 
        in Euro</strong></font></div></td>
  </tr>
  <?php do { ?>
  <?php $ordner='http://localhost/Artikelbilderklein/';?>
  <tr> 
    <td rowspan="2" bgcolor="#FFFFFF"> 
      <div align="center"><font color="#FFFFFF"> 
        <?php $ordner='http://localhost/Artikelbilderklein/';
	                                echo '<img src="'.$ordner.$row_Recordset1['Bild'].'">';
									?>
        </font></div></td>
    <td rowspan="2" valign="top"> 
      <div align="left"><font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif"><strong><?php echo $row_Recordset1['Artikelname']; ?></strong></font></div></td>
    <td rowspan="2" valign="top"> 
      <div align="center"><font color="#FFFFFF" face="Geneva, Arial, Helvetica, sans-serif"><strong><?php echo $row_Recordset1['Artikelnummer']; ?></strong></font></div></td>
    <td colspan="3" valign="top"> 
      <div align="center"> 
        <p><font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif"><?php echo $row_Recordset1['Kurzbeschreibung']; ?></font><font color="#FFFFFF" size="2" face="Geneva, Arial, Helvetica, sans-serif"><br>
          <br>
          &gt;&gt;mehr Info&lt;&lt;</font></p>
        </div></td>
    <td rowspan="2" valign="top"> 
      <div align="right"><font color="#FFFFFF" face="Geneva, Arial, Helvetica, sans-serif"><strong><?php echo $row_Recordset1['Preis']; ?></strong></font></div></td>
  </tr>
  <tr> 
    <td valign="top">&nbsp;</td>
    <td valign="top"><div align="center"><a href="warenkorb.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Warenkorbbutton','','Bilddateien/gifs/mb001rot.gif',0)"><img src="Bilddateien/gifs/mb001.gif" alt="Zum Warenkorb" name="Warenkorbbutton" width="100" height="22" border="0"></a></div></td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left" valign="top"> 
    <td height="31" colspan="7"> 
      <div align="left"></div>
      <hr align="left">
    </td>
  </tr>
  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
  
<?php
mysql_free_result($Recordset1);
?>
 
Ich würde das Buch verklagen.....

1. den Query_String brauchste nich selber zu zerlegen es sei denn Du benutzt MOD_REWITE da Du aber nach & hin zerlegst scheint das nich der Fall

2. $_GET,$_POST und $_SERVER scheinen die besseren Alternativen zu $HTTP_SERVER_VARS und konsorten.

3. Ist es der Übersicht dienlich wenn man den Text bei den geschweiften Klammern etwas einrückt.

4. Wär das nicht schön wenn man Feldern in ner Mysql Datenbank ID's geben könnte das man nicht den danzen Query immer übertragen muss ?

5. Aus diesem Code ist (zumindest mir) nicht ersichtlich was das genau werden soll... Wie wärs wenn Du nochmal GENAU postest was Du da gerne machen möchtest dann finden wir bestimmt ne Lösung...

Gruss Danilo
 
Morgen erst einmal

Also ich habe eine Datenbank "Drogerie " angelegt.
(ArtikelID, Artikelname, Artikelnummer, Kurzbeschreibung, Artikelbeschreibung, Preis, Bild).In dieser befinden sich 50 Artikel. Diese 50 Artikel lasse ich mir in einer Tabelle zu je 3 Datensätze anzeigen.==>Bis hierher alles klar!
Dann aber!
Wenn z.B. Artikel 6 erscheint (nur Bild, Artikelnummer, Artikelname, Kurzbeschreibung, Preis) möchte ich, das beim anklicken von "mehr Info" dieser Artikel angezeigt wird und ich mir dann Artikelbeschreibung ausgeben lasse.
Wie komme ich zu diesen Artikel?

Gruss newmedix
 
Habs nochmal einfacher:
<?php
$host = "localhost";
$user = "root";
$password = "";
$db = "meinshop";

$link = mysql_connect($host, $user, $password)
or die("Fehler beim Verbinden mit dem Datenbankserver");

mysql_select_db($db)
or die("Datenbank konnte nicht gewählt werden");
?>
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php
//Datenbankabfrage
$Abfrage = "SELECT * FROM artikel";
$Ergebnis = mysql_query($Abfrage) or die(mysql_error());
?>

<table width="50%" border="0" align="center" bgcolor="#FF0000">
<tr>
<td>
<div align="center">
<?php
//datenausgabe
while ($row = mysql_fetch_assoc($Ergebnis))
{
echo $row['id']." ".
$row['artikel_name']." ".
$row['Preis']."<br />";
}
?>

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

</body>
</html>

Jetzt will ich auf den Artikelnamen klicken können um so den Artikel mit mehr Infos anzeigen zu können!
Dazu habe ich eine neue Datei angelegt (artikeleinzeln.php) Wieder Verbindung zur Datenbank aufgenommen und jetzt?
 
ich würde an die neue Datei die Artikel-ID weitergeben (z.b. durch GET-Variablen). Dann machst in dieser neuen Datei einfach ein DB-Query zu dem entsprechenden Artikel, suchst dir den Inhalt aus dem Feld Artikelbeschreibung und was du sonst noch brauchst und gibst das aus.

Ich versteh dein Problem immer noch nicht...:rolleyes:
 
SELECT den_ganzen_kram FROM Artikel WHERE ArtikelID = 'MeineArtikelID'

könnte man als query nehmen.....

Gruss Danilo
 
Zurück