Seite 1 von 2

Daten aus DB auslesen und bearbeiten

Verfasst: 19.04.2005 11:20
von Condor
Hi,

wie die Überschrift schon sagt würde ich gerne Daten wie z.B Name, Strasse etc. aus meiner Datenbank auslesen und bearbeiten können. Gibt es da was fertig ? Oder könnte mir jemand einen Code-Snipsel vorschlagen ? Ciao, bis dann. :D

Verfasst: 19.04.2005 11:26
von shwepsi
willst du die auf einer im phpBB eingebundenen Seite auslesen?
oder völlig von phpBB losgelöst?

Verfasst: 19.04.2005 13:29
von tallman
Schau dir mal die Seite an:
http://horatio.wiwi.uni-frankfurt.de/sql/intro.html

Da findest wichtige hinweise zu SQL.
Wenn du das kannst, ist das auslesen und bearbeiten kein Problem mehr.
Voraussetzung ist natürlich PHP!!

Verfasst: 19.04.2005 16:38
von shwepsi
tallman hat geschrieben:Schau dir mal die Seite an:
http://horatio.wiwi.uni-frankfurt.de/sql/intro.html

Da findest wichtige hinweise zu SQL.
Wenn du das kannst, ist das auslesen und bearbeiten kein Problem mehr.
Voraussetzung ist natürlich PHP!!
da geht man grundsätzlich davon aus das die Seite nicht in phpBB integriert ist, ansonsten besteht bereits eine Verbindung zur DB und man kann sich diesen, sowie das Verbindung beenden sparen

Verfasst: 19.04.2005 22:37
von Condor
Hallöchen,

nein. Hat mit phpbb nix zutun. Es geht allgemein. Und auf den Link komme ich nicht. Der Browser sagt mir die Seite gibts nicht. Das auslesen der Datensätzte ist kein Problem. Jetzt muss ich die aber irgendwie in ein Pulldown-Menü einfügen, und das ist was ich nicht weiss. Wie geht das ? Bei mir funktonukelt das nicht.

Verfasst: 19.04.2005 23:25
von shwepsi
dann probier es zum Beispiel mal hier

http://www.gmx.net/de/themen/computer/i ... ck&s=vNqm4

Verfasst: 20.04.2005 00:19
von Condor
Hi,

danke für den Link. Hab mir das mal angeschaut aber nix richtiges gefunden. Die Befehle die dort angezeigt werden kenne ich auch alle etc. wie man jetzt mit UPDATE oder SET umgeht weiss ich auch schon. Am besten wäre schon ein vorgefertigtes oder ähnliches Script was ich dann anpassen muss. Die Daten (z.B Namen) sollen aus der DB in ein PullDown oder so eingelesen werden. Sobald ich dort dann einen Namen auswähle müsste ein Formular oder sowas kommen, mit den enthaltenden Daten die zu dem Namen gehören, damit man die dann bearbeiten kann. Das ich dann, wenn ich auf "Abschicken" klicke, die DB geupdaten werden muss ist kein Problem, nur der obige Teil. Vielleicht kennst du sowas oder hast sowas schon mal irgendwo gesehen ?

Verfasst: 20.04.2005 12:21
von shwepsi
du meinst ein komplettes Formular?
das geht mit PHP sowie HTML (einfach mal nach form, input und textarea schauen)
da gebe ich keine raus, da ich von hacken keine Ahnung habe, aber sehr häufig höre das solche Formulare abgesichert werden sollten...

ich hoffe du kannst mit den 3 HTML Befehlen was anfangen, mit diesen und verwandten Befehlen kann man Dropdowns, auswahlfelder, checkboxen, radioButtons, Buttons, Textzeilen und -felder erstellen und abschicken.

Viel Erfolg noch !!

Verfasst: 20.04.2005 16:45
von Condor
Hi,

nein, du hast mich glaube ich nicht richtig verstanden. Ich hab hier z.B so ein ähnliches Script das Daten aus der DB in eine Liste einliest:

Code: Alles auswählen

<?php
/*
 * lovselection - wandle eine Liste von Werten aus einer Datenbank
 *                in eine option-Liste in HTML.
 *
 * (benutzt PEAR::DB)
 *
 * von Kristian Köhntopp und Frank Wiegand
 *
 */

function lovselection($dsn, $table, $field, $oldvalue) {

  // Rueckgabestring
  $ret = "";

  // Datenbankverbindung aufbauen, Fehlerbehandlung
  // ist hier nicht implementiert!
  require_once 'db.inc';
  $db = DB::connect($dsn);

  // Daten auslesen
  $query = sprintf("SELECT %s FROM %s",
             $field,
             $table
           );

  $res = $db->query($query);

  while($row = $db->fetchRow()) {
    if ($row[$field] == $oldvalue)
      $selected = " selected='selected'";
    else
      $selected = "";

    $ret .= sprintf("<option%s>%s</option>\n",
                    htmlspecialchars($selected),
                    $row[$field]
                   );
  }

  $db->disconnect();
  return $ret;
}

/*
 * is_validlov - überprüfe, ob ein gegebener Wert zu einer
 *               vorgegebenen Liste von Werten passt.
 *
 * von Kristian Köhntopp und Frank Wiegand
 *
 */
function is_validlov($dsn, $table, $field, $value) {

  require_once 'db.inc';
  $db = DB::connect($dsn);

  $query = sprintf("SELECT %s FROM %s WHERE %s = %s",
             $field,
             $table,
             $field,
             $db->quote($value) // Wert für die Abfrage maskieren
           );

  $res = $db->query($query);
  if ($res->numRows() == 1) {
    $db->disconnect();
    return true;
  } else {
    $db->disconnect();
    return false; // 0 or 2+ answers are a failure!
  }
}

?>

<!-- Formularfragment -->
<select name="f_ortsnetz" size="1">
<?php echo lovselection("mysql://$user:$pass@$host/$db_name", "ortsnetze", "vorwahl", $ortsnetz) ?>
</select>


<!-- Auswertefragment -->
<?php
if (is_validlov("mysql://$user:$pass@$host/$db_name", "ortsnetze", "vorwahl", $_REQUEST['f_ortsnetz']))
  $ortsnetz = $_REQUEST['f_ortsnetz']; // value is valid
else {
  $error["ortsnetz"] = "Das angegebene Ortsnetz ist ungültig.";
  $ortsnetz = ""; // clear session variable
}
?>
Es funktioniert aber nicht. In Zeile 20 kommt folgender Fehler:

Code: Alles auswählen

Fatal Error: Undefined class name 'db'
Was muss alles in die db.inc rein ? Weisst du das zufällig ?

Verfasst: 20.04.2005 18:06
von shwepsi
ja, weil das auf ein Pear-Modul zugreift. Und das du schon was hast, hast du nicht gesagt.
such einfach mal nach 'benutzt PEAR::DB' und dieses installieren (oder installieren lassen), ansonsten musst du leider ein neues basteln

Zur Zeit ist das etwa so, als würdest du einen Mod für phpBB versuchen einzubauen, ohne das du phpBB hast...