1 SQL Code pro php file?

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

  • 1 SQL Code pro php file?

    Hallo,
    Mal ne Frage:
    Ist es eher sinnvoll nur eine SQL Abfrage in eine php Datei zu stecken, oder kann man auch mehr rein packen? Ich mein jetzt, inwiefern es sinnvoll ist, um die Vorteile von php zu erreichen!

    Ich habe in folgendem die Abfrage $SQL (hier wird ein Mitarbeiter ermittlet) und noch eine Abfrage $SQL2 (Hier werden die Arbeitszeiten für diesen Mitarbeiter angezeigt.

    Die Tabelle Mitarbeiter steht in einer 1:n beziehung zu IStunden.

    Ich will jetzt noch Datensaätze bearbeiten können, löschen und neu anlegen, alles in dieser php Datei! Wie stelle ich das am besten an? anhand der inserts, selects und delets... sind ja alles verschiedene Abfragen! Hoffe auf Hilfe von Euch danke und gruß

    PHP-Code:
    <body bgcolor="#FF8000">
    <h2>Ausgabe Mitarbeiter - Tätigkeitsnachweis</h2>
    <?php

      
    include ("connect.php");





      
    $SQL "SELECT MITARBEITER.PERSONAL_NR, ANREDE.BEZEICHNUNG AS A_BEZEICHNUNG, MITARBEITER.VORNAME, MITARBEITER.NACHNAME, FIRMA.BEZEICHNUNG
              FROM ANREDE RIGHT JOIN (FIRMA RIGHT JOIN MITARBEITER ON FIRMA.FIRMEN_NR = MITARBEITER.FIRMEN_NR) ON ANREDE.Titel = MITARBEITER.Titel WHERE
              MITARBEITER.PERSONAL_NR ='
    $_POST[suchen]'";

      
    $SQL2 "SELECT MITARBEITER.PERSONAL_NR, DATE_FORMAT(ISTUNDEN.DATUM, '%d. %b %a') AS DATUM, ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.KURZTEXT
              FROM ISTUNDEN RIGHT JOIN MITARBEITER ON ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR WHERE MITARBEITER.PERSONAL_NR ='
    $_POST[suchen]'";


      
    $resultat mysql_db_query("proto",$SQL);

      while (
    $row mysql_fetch_array($resultat))
      {
      
    extract($row);
      echo 
    "<table border=1><tr><td><b>Anrede:</b></td><td>$A_BEZEICHNUNG</td></tr>";?><br><?
      echo "<tr><td><b>Name:</b></td><td> $NACHNAME $VORNAME</td></tr>";?><br><?
      echo "<tr><td><b>Firma:</b></td><td> $BEZEICHNUNG</td></tr></table>";
      }
      
      ?><br><?

      $resultat2 = mysql_db_query("proto",$SQL2);

      while ($row2 = mysql_fetch_array($resultat2))
      {
        extract($row2);
       ?>
       <input type="text" name="vorname" value="<? echo $row2['PERSONAL_NR']; ?>">
       <input type="text" name="vorname" value="<? echo $row2['DATUM']; ?>">
       <input type="text" name="vorname" value="<? echo $row2['ANFANGSZEIT']; ?>">
       <input type="text" name="vorname" value="<? echo $row2['ENDEZEIT']; ?>">
       <input type="text" name="vorname" value="<? echo $row2['KURZTEXT']; ?>">
       <? echo "<td><a href=\"istunden.php?submit=delete&what=".$row2[0]."\">L&ouml;schen</a> - <a href=\"istunden.php?submit=edit&what=".$row2[0]."\">Editieren</a></td>";?><br>
       <?
      }
       
       if ($submit == "action-add")
      {
        echo "ACTION-ADD";
        $sql3 = "INSERT INTO ISTUNDEN (
                      PERSONAL_NR,
                      DATUM,
                      ANFANGSZEIT,
                      ENDEZEIT,
                      PAUSE,
                      KURZTEXT,
                      KENNZEICHEN

       ) VALUES (
                      '$P_NR',
                      '$DATUM',
                      '$ANFANG',
                      '$ENDE',
                      '$PAUSE',
                      '$KURZTEXT'";

      }

        $erg = mysql_db_query("proto", $sql3);
        echo mysql_error($db).$sql3;
       //resultat = mysql_db_query("ISTUNDEN", $SQL_insert);

       ?>
       <br>
       <br>
        <form action="istunden.php" method="post">
          <table border=0 cellpadding=0 cellspacing=0>
          <tr><td>Personal_NR:</td><td><input type=text size=30 name=P_NR></td></tr>
          <tr><td>DATUM:</td><td><input type=text size=30 name=DATUM></td></tr>
          <tr><td>ANFANGSZEIT:</td><td><input type=text size=30 name=ANFANG></td></tr>
          <tr><td>ENDEZEIT:</td><td> <input type=text size=30 name=ENDE></td></tr>
          <tr><td>PAUSE:</td><td> <input type=text size=5 name=PAUSE></td></tr>
          <tr><td></td><td><input type="submit" name="submit" value="action-add"></tr>
          </table>
          </form>

    </body>
    PS: habe das Script selbst geschrieben, mein php denken ist noch nicht so auf der rechten Bahn, dehalb bin ich, was es den Afbau der php scripts angeht, sehr dankbar!

    Ich hab hier 2 Bücher, und 2 mySQL Bücher, aber wie man anhand eines Formulars, datensätze aus einer mySQL datenbank anlegt, bearbeitet und löscht, steht NIRGENDS was, ich könnt verrückt werden! Wenn einer einen guten Link wiess, wo man sich mit dem Thema beschäftigt, wie man anhand von formularen Datensätze filter, neu anlegt, bearbeitet löscht usw, der könnte ihn mir mal bitte geben, wäre euch unendlich dankbar! und gruß dutt
    MfG dutt

  • #2
    Hm...das kommt mir bekannt vor

    warum 2 SQL-Abfrage wenn du ohnehin in 2. Abfrage schon JOIN einsetzst,
    packst doch die fehlenden Spalten aus SQL in SQL2 dann hast du, was du
    brauchst.

    Wieviele Abfragen man in einem Script macht ist abhängig von der
    Anforderung. Faustregel, so viel wie nötig, so wenig wie möglich,
    also Abfragen optimieren ist angesagt.
    EDIT:

    hab den Thread gefunden, der ähnlich ist http://www.php-resource.de/forum/showthread.php?s=&postid=248989#post248989

    Zuletzt geändert von asp2php; 23.04.2004, 12:24.

    Kommentar


    • #3
      Grundsätzlich solltest Du so viele Abfragen in ein PHP-Skript packen wie Du Benötigst um den gewünschte Darstellung zu erreichen.

      Grundsätzlich sollte man JOINS nur verwenden wenn die dadurch verknüpften Tabellen in einem logischen Zusammenhang stehen ... die Bildung eines karthesischen Produktes ist auf jeden Fall aufwendig.

      Alles andere ist eine Frage der Datenbankoptimierung und des vergleichenden Testens (Benchmarking).
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar

      Lädt...
      X