join funtion fehler

das is ja nicht der sinn der sache denn die anderen mitglieger (stammmitglieder) solln sich ja auch einloggen kommen und auf diverse datun zugrif haben..
da musst dich glauch ich die WHERE = user_id einfügen .... hmm oder?
 
PHP:
mysql_select_db("*******");
$SQL_statement="SELECT * FROM users INNER JOIN archiv ON archiv.user_id = users.id
ORDER BY datum DESC;";
$resultset=mysql_query($SQL_statement) or die(mysql_error());
while($data=mysql_fetch_array($resultset)) {
echo $data['mitgliedseit']. "<br>"; 
echo $data['auto']. "<br>"; 
echo $data['ort']. "<br>"; 
echo $data['handy']. "<br>"; 
}

aber die kann ich das ganze jetzt auf die user bezogen anzeigen?
 
Also du willst jetzt ein Archiv für Beiträge anzeigen. Dieses Archiv soll so angezeigt werden, das jeder Benutzer nur seine eigenen Beiträge aus dem Archiv sieht. Das bedeutet, du selektierst alle Datensätze aus der Tabelle 'archiv' bei denen der Benutzer einer bestimmten ID entspricht. Soweit richtig?

Dann stellen sich folgende Fragen:

- Wo kommt die Informationen her, nach deren Kriterien der Benutzer festgelegt wird (Session, Cookie, Get-Parameter, etc)?
- Welche Informationen stehen zur Verfügung um den Benutzer zu ermitteln, der als Vergleich herangezogen werden soll (ID, Benutzername, sonstige Kennung)?

Ich würde sagen, du beantwortest erstmal diese zwei Fragen möglichst detailiert, dann sehen wir weiter.
 
so das is die ganze archiv.php
denn ich glaube scripte sagen mehr aus 1000 worte :)

PHP:
<?php 
include 'dbc.php';
page_protect();

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

<link href="styles.css" rel="stylesheet" type="text/css"></head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <?php include_once("nav.php"); ?>
  <p>&nbsp;</p>
</div><?php }
if (checkAdmin()) {
?>
 
<p> <a href="admin.php">Administration</a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr"><?php echo $_SESSION['user_name'];?>Willkommen</h3>  
	  <p>&nbsp;</p>
    <p>&nbsp;</p>
    <?php 
mysql_select_db("*******");
$SQL_statement="SELECT * FROM users INNER JOIN archiv ON archiv.user_id = users.id
ORDER BY datum DESC;";
$resultset=mysql_query($SQL_statement) or die(mysql_error());
while($data=mysql_fetch_array($resultset)) {
echo $data['mitgliedseit']. "<br>"; 
echo $data['auto']. "<br>"; 
echo $data['ort']. "<br>"; 
echo $data['handy']. "<br>"; 
}  
?>
    </p></td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>
 
Prima, da haben wir in der SESSION also die Benutzer-ID. Dann brauchst du den JOIN doch gar nicht:

PHP:
$SQL_statement=sprintf("SELECT * FROM archiv WHERE user_id = %d ORDER BY datum DESC;", $_SESSION['user_id']);

Sollte so gehen. Außer du willst noch den Benutzernamen ausgeben, aber jeder Benutzer sollte doch seinen eigenen Namen wissen, oder?
 
Prima, da haben wir in der SESSION also die Benutzer-ID. Dann brauchst du den JOIN doch gar nicht:

PHP:
$SQL_statement=sprintf("SELECT * FROM archiv WHERE user_id = %d ORDER BY datum DESC;", $_SESSION['user_id']);

Sollte so gehen. Außer du willst noch den Benutzernamen ausgeben, aber jeder Benutzer sollte doch seinen eigenen Namen wissen, oder?


jeeehhhh coool es funkt danke :) naja der user name wird na beireits ausgegeben ... du bist meine rettung..

so jetzt muss ich noch zusammen packen denn ich hab gleich feierabend :)
 
Zurück