Datenbank erstellen...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    OffTopic:
    und english-wörtebücher werden in pisa-tests auch nicht mehr benötigt...
    Allerdings trägt er immernoch keine Daten ein.
    "er"? dein nachbar? du willst unbedingt herausfinden, was es mit mysql_error() auf sich hat, oder?

    Kommentar


    • #17
      Hab jetzt mal
      echo mysql_errno() . ": " . mysql_error(). "\n";

      unter mysql_select_db('lehrertabelle');

      Und siehe da: 1044: Access denied for user: 'web1@localhost' to database 'lehrertabelle'

      Allerdings binde ich ja die config.php vorher ein, und die Daten stimmen ja, das sagt die Verbindung auf der index.php

      nitramf

      Kommentar


      • #18
        zeig mal alles..

        Kommentar


        • #19
          http://support-netz.eu/neu/php/php.zip

          Gruß,
          nitramf

          Kommentar


          • #20
            ...alles relevante.

            Kommentar


            • #21
              Dann wären hier die..

              ...index.php:
              PHP-Code:
              <?php
              error_reporting
              (E_ALL);
              # Konfigurationsdatei laden:
              include("config.php");

                

                  
              $db_link mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS);
                  
                  if(
              $db_link) {
                      echo 
              "Verbindung wurde aufgebaut<br />\n";
                      echo 
              "In der Variable steht folgendes: ".$db_link;
                  } else {
                      echo 
              "Es konnte keine Verbindung aufgebaut werden";
                  }

              #======= Aktionen ausführen:
              // Falls ein Lehrer zur Löschung übergeben wurde:#
              if(!empty($_REQUEST['lehrerloeschen'])) { 

                 
              $loeschen=mysql_query("DELETE FROM `lehrertabelle` WHERE `id`='".$_REQUEST['lehrerloeschen']."'");
              };

              # Falls ein Lehrer zum Speichern eingetragen wird:
              if(!empty($_REQUEST["vorname"]) AND !empty($_REQUEST['name'])) {
                 
              $speichern=mysql_query("INSERT INTO `lehrertabelle` VALUES(NULL, '".$_REQUEST['name']."', '".$_REQUEST['vorname']."')");
              };


              #======= Löschformular:

              $lehrer=mysql_query("SELECT * FROM `lehrertabelle` ORDER BY `name` ASC");

              #======= Wenn Lehrer eingetragen sind Auswahlliste erstellen:

              if("mysql_num_rows($lehrer)>=1") {
                 
              ?>
                <form action="lehreradmin.php" method="POST">
                    <select name="lehrerloeschen">
                 <?php
                 
              while($dieserlehrer=mysql_fetch_array($lehrer)) {
                    
              ?><option value="<?php echo $dieserlehrer['id']; ?>"><?php echo $dieserlehrer['name'].", ".$dieserlehrer['vorname']; ?></option><?php
                 
              };
                 
              ?></select><input type="submit" value="L&ouml;schen!" /></form>
                 <?php
              }
              # Ansonsten Meldung ausgeben:
              else {
                 echo 
              "<p>Keine Lehrkr&auml;fte eingetragen!</p>";
              };

              # Darunter ein Formular zum Hinzufügen eines neuen Lehrers:
              ?>
              <form action="./lehreradmin.php" method="POST">
                 Nachname: <input type="text" name="name" size="30" /><br />
                 Vorname: <input type="text" name="vorname" size="30" /><br />
                 <input type="submit" value="Speichern!" />
              </form>
              und die lehreradmin.php:
              PHP-Code:
              <?
              error_reporting(E_ALL);
              include 'config.php';
                  // Konfigurationsdatei laden
              $db=mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
              mysql_select_db('lehrertabelle');
              echo mysql_errno() . ": " . mysql_error(). "\n";
              if($_REQUEST['vorname']!='' AND $_REQUEST['name']!='') {
                 mysql_query("INSERT INTO `lehrertabelle` VALUES(NULL, '".$_REQUEST['name']."', '".$_REQUEST['vorname']."')");
              };
              echo "Lehrer Eingetragen/Geloescht"

              ?>

              Kommentar


              • #22
                Entweder ist lehrertabelle eine Datenbank - dann könnte man mysql_select_db('lehrertabelle') machen - oder es ist eine Tabelle. Der Name spricht für letzteres.

                Der Unterschied zw. Datenbank und Tabelle: Eine Datenbank ist wie ein Ordner, Tabellen sind wie Dateien. Meinetwegen Exceldateien mit Tabellen drin und so. Klar?

                Kommentar


                • #23
                  1. erkläre mal in eigenen worten, warum
                  if("mysql_num_rows($lehrer)>=1")
                  totaler unfug ist.

                  2. mysql_error() ist nur dann sinvoll, wenn eine mysql_* funktion etwas falsches zurückgegeben hat. gibt es die tabelle wirklich? was gibt mysql_select_db zurück? warum hast du mysql_error nicht nach jedem mysql_query() aufruf?

                  Kommentar


                  • #24
                    @onemorenerd:
                    Kann nicht sein.
                    Die Tabelle ist usr_web1_4
                    und die Tabelle ist lehrertabelle.

                    Hier mein SQL Befehl aus PHPmyAdmin:
                    Code:
                    CREATE TABLE `lehrertabelle` (
                      `id` int(100) NOT NULL auto_increment,
                      `name` varchar(50) NOT NULL default '',
                      `vorname` varchar(50) NOT NULL default '',
                      PRIMARY KEY  (`id`)
                    ) TYPE=MyISAM AUTO_INCREMENT=7 ;
                    Gruß,
                    nitramf

                    //EDIT: Ein Beispiel für die richtige einfügung wäre doch das:
                    PHP-Code:
                       $loeschen=mysql_query("DELETE FROM `lehrertabelle` WHERE `id`='".$_REQUEST['lehrerloeschen']."'");
                    echo 
                    mysql_errno() . ": " mysql_error(). "\n";
                    }; 
                    oder?

                    Kommentar


                    • #25
                      Die Tabelle ist usr_web1_4
                      und die Tabelle ist lehrertabelle.
                      hm... und die tabelle?

                      mach doch mal, wie in der index.php: mit if($db_link) ... else ...


                      mach besser mysql_query(...) or die(mysql_error())

                      Kommentar


                      • #26
                        Original geschrieben von nitramf
                        Kann nicht sein.
                        Die Tabelle ist usr_web1_4
                        und die Tabelle ist lehrertabelle.
                        Doch, ist so.
                        Die Datenbank ist usr_web1_4
                        und die Tabelle ist lehrertabelle.

                        Deswegen kann mysql_select_db('lehrertabelle') nicht funktionieren.

                        Kommentar


                        • #27
                          YIHA ICH HABS

                          Zumindest ist der Name den ich in PHP my admin eingetragen hab in der Dropdown liste.

                          Das war meine änderung:
                          #======= Löschformular:
                          mysql_select_db('usr_web1_4');
                          $lehrer=mysql_query("SELECT * FROM `lehrertabelle` ORDER BY `name` ASC");
                          echo mysql_errno() . ": " . mysql_error(). "\n";

                          Jetzt muss ich mich noch um die Meldung in der Lehreradmin.php kümmern...

                          //EDIT: Ihr wart schneller

                          Kommentar


                          • #28
                            Original geschrieben von nitramf
                            Kann nicht sein.
                            Die Tabelle ist usr_web1_4
                            und die Tabelle ist lehrertabelle.
                            Tu dir und uns einen Gefallen: Geh heute früh schlafen, und mach morgen weiter - vielleicht blickst du dann ein bisschen durch.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #29
                              Es klappt jetzt das Speichern durch das Formular.

                              Allerdings will das Löschen noch nicht so.
                              Notice: Undefined index: vorname in /var/www/web1/html/neu/php/lehreradmin.php on line 8

                              Er kennt die Variable Vorname nicht.
                              Ich schau mal.
                              Hier der Quelltext:
                              PHP-Code:
                              if($_REQUEST['vorname']!='' AND $_REQUEST['name']!='') {
                              mysql_query("INSERT INTO `lehrertabelle` VALUES(NULL, '".$_REQUEST['name']."', '".$_REQUEST['vorname']."')"); 
                              Die erste Zeile ist die 8. Zeile
                              Zuletzt geändert von nitramf; 07.05.2007, 21:19.

                              Kommentar


                              • #30
                                Mach Testausgaben, z.B. mit print_r($_REQUEST); und denk mal straff nach, ob du uns wirklich den richtigen Code zeigst.
                                INSERT wird nämlich sowieso nichts löschen ...

                                Kommentar

                                Lädt...
                                X