Auslesen von Mitgliedern (Code-Problem)

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Auslesen von Mitgliedern (Code-Problem)

Beitrag von Condor »

Hi,

ich habe folgendes Problem und komme net mehr weiter deshalb wende ich mich an euch und hoffe das mir jemand helfen wird. Ich habe zwei Scripte. Das erste:

Code: Alles auswählen

<?

$liveserver = "localhost";				
if ($SERVER_NAME == $liveserver) {
$user   = "root";
$pass   = "";
$server = "localhost";
$dbase  = "XXX";
$table  = "XXX";
} else {
$server = "localhost";	
$user   = "root";
$pass   = "";
$dbase  = "XXX";
$table  = "XXX";
}
//
$conn = @mysql_connect($server, $user, $pass);
if($conn) {
   mysql_select_db($dbase, $conn);
} else {
   die("<B>Oops, something goes wrong");
}


$fields = mysql_list_fields($dbase, $table, $conn);

$sql = "SELECT * FROM $table";

$result = mysql_query("SELECT id, vorname, nachname FROM $table WHERE innung = 'Münster'");
if ($result) {
while($row = mysql_fetch_array($result)) {
  echo "<a href=\"Tabelle-auslese.php?id=$row[id]\">$row[vorname] $row[nachname]</a><BR>";
}
} else {
   echo "<P>".mysql_error($conn);
}
mysql_close($conn);
?>
und das zweite:

Code: Alles auswählen

<?php
$user   = "root";
$pass   = "";
$server = "localhost";
$dbase  = "XXX";
$table  = "XXX";
    
    
$conn = @mysql_connect($server, $user, $pass);
if($conn) {
   mysql_select_db($dbase, $conn);
} else {
   die("<B>Oops, something goes wrong");
}

$fields = mysql_list_fields($dbase, $table, $conn);
$feldname = mysql_field_name($fields, 0);

$sql = "SELECT * FROM $table WHERE $feldname = '$id'";

$result = mysql_query($sql, $conn);
if ($result) {
   while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
      echo $row['vorname'];
      echo $row['nachname'];


   }
} else {
   echo "<P>".mysql_error($conn);
}
mysql_close($conn);
?>
Zur Erklärung:
Das erste Script sucht nach allen Mitgliedern in der DB aus der Innung "Münster" und zeigt diese dann als Link an. Wenn man auf den Benutzer der jetzt als Link dargestellt wird, klickt, dann sollte das Profil des jeweiligen Mitglieds kommen.

Wie kann ich jetzt beide zusammenführen, also das das erste Script die Sachen an sich selbst schickt und nicht mehr an die "Tabelle-auslese.php" ? Ich hab da mit PHPSELF etc. rumgefummelt, aber irgendwie kriege ich das net hin. Hat jemand rat ? Bitte ?!
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Code: Alles auswählen

  echo "<a href=\"Tabelle-auslese.php?id=$row[id]\">$row[vorname] $row[nachname]</a><BR>";
Indem du vielleicht den Link anpasst?
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

danke erstmal für die schnelle Antwort. Das hab ich ja versucht mit PHPSELF und SERVER und was weis ich nicht alles. Aber es funktionierte nicht. Könntest du mir sagen, wie es nach deinem Prinzip aussehen müsste ? Bis denne.
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Tabelle-auslese.php ist der untere Code, ja?
Und der obere Code soll auch zur oberen Datei springen, auch richtig ja?
Die erste Datei wird doch auch einen Namen haben, oder? Den sprichst du in dem Link an

Code: Alles auswählen

echo "<a href=\"andere-datei.php?id=$row[id]\">$row[vorname] $row[nachname]</a><BR>";
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

nein nein, da hast du mich etwas falsch verstanden. Die beiden Scripte sollen in ein Script zusammen gepackt werden. Deshalb kann das schonmal nicht stehen:

Code: Alles auswählen

echo "<a href=\"andere-datei.php?id=$row[id]\">$row[vorname] $row[nachname]</a><BR>";
Für "andere-datei.php" muss was anderes hin. Das Script muss ja alles an sich selber schicken. Wenn ich dann auf den Link geklickt habe, müsste der 2. Teil des Scriptes angesprochen werden der so aufgebaut ist wie mein unteres Script und das Profil ausgeben. Ich hoffe du hast mein Problem verstanden. Tut mir leid das ich so schlecht erkläre :-) Trotzdem danke für deine Mühe :-)
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

ich bins nochmal. Läuft es denn bei dir ? Ich hab da nämlich ein zweites Problem. Auf meinem Rechner läuft es und auf einem anderen nicht obwohl es der gleiche Code ist ? Jetzt verstehe ich gar nix mehr :roll:
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Keine Ahnung ob es läuft - hab es nicht getestet.
Aber warum packst du beide Scripte nicht in eins?

Code: Alles auswählen

<? 
$id = $_GET['id'];
if(!isset($id))
{
  $liveserver = "localhost";             
  if ($SERVER_NAME == $liveserver)
  { 
    $user   = "root"; 
    $pass   = ""; 
    $server = "localhost"; 
    $dbase  = "XXX"; 
    $table  = "XXX"; 
  }
  else
  { 
    $server = "localhost";    
    $user   = "root"; 
    $pass   = ""; 
    $dbase  = "XXX"; 
    $table  = "XXX"; 
  } 
 
  $conn = @mysql_connect($server, $user, $pass); 
  if($conn)
  { 
    mysql_select_db($dbase, $conn); 
  }
  else
  { 
    die("<B>Oops, something goes wrong"); 
  } 

  $fields = mysql_list_fields($dbase, $table, $conn); 

  $sql = "SELECT * FROM $table"; // was ist das eigentlich?
  $result = mysql_query("SELECT id, vorname, nachname FROM $table WHERE innung = 'Münster'"); 
  if($result)
  { 
    while($row = mysql_fetch_array($result))
    { 
      echo "<a href=\"Tabelle-auslese.php?id=$row[id]\">$row[vorname] $row[nachname]</a><br />"; 
    } 
  }
  else
  { 
    echo "<P>".mysql_error($conn); 
  } 
  mysql_close($conn);
}
else
{
  $user   = "root"; 
  $pass   = ""; 
  $server = "localhost"; 
  $dbase  = "XXX"; 
  $table  = "XXX"; 
  
  $conn = @mysql_connect($server, $user, $pass); 
  if($conn)
  { 
    mysql_select_db($dbase, $conn); 
  }
  else
  { 
    die("<B>Oops, something goes wrong"); 
  } 
  $fields = mysql_list_fields($dbase, $table, $conn); 
  $feldname = mysql_field_name($fields, 0); 

  $sql = "SELECT * FROM $table WHERE $feldname = '$id'"; 
  $result = mysql_query($sql, $conn); 
  if($result)
  { 
    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    { 
      echo $row['vorname']; 
      echo $row['nachname']; 
    } 
  }
  else
  {
    echo "<p>".mysql_error($conn)."</p>"; 
  } 
  mysql_close($conn); 
}
?>
Wobei man noch vieles vereinfachen könnte
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

LOL Leuchte :-) Davon rede ich doch die ganze zeit. Ich habs auch mit:

Code: Alles auswählen

$id = $_GET['id'];
versucht, ich muss aber was falsch geschrieben haben, vielleicht hab ich POST genommen. Ich teste den Code nachher mal und sag dir bescheid. Ja, ich weiss. Ist ja nur der erste Entwurf, aber für Vereinfachungen bin ich immer zu haben. Was meinst du genau ? Und vielen vielen dank erstmal, Küsschen an dich :-)
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

habs jetzt ausprobiert aber es funktioniert nicht. Folgender Fehler kommt:

Code: Alles auswählen

Unknown column 'id' in 'field list'
Und was ist mit diesem Teil:

Code: Alles auswählen

echo "<a href=\"Tabelle-auslese.php?id=$row[id]\">$row[vorname] $row[nachname]</a><br />";
Ist doch jetzt alles in einer Datei, ich hab doch keine Tabelle-auslese.php mehr. Was soll ich damit tun ?
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

bins nochmal. Ok, ich nehme alles zurück. Es funktioniert perfekt !!! :-) War mein Fehler, falsche DB ausgewählt. Danke nochmals, vielen, vielen Dank !! :-) Bis denne, dein Condor.
Antworten

Zurück zu „Coding & Technik“