Bild aus mySQL DB ausgeben -Problem-

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

  • #16
    Ja, ich denke er meint den Link, Dein Thread nicht!

    Hier der code...

    PHP-Code:
    <?
    include("../php/inc/mysql_connect.php");
    include("../php/de.php");

    $id = $_POST['id'];

    $q_sql_alle = "SELECT id, name, vorname, geburtsdatum, position, 
    statfussball, geburtsort, familienstand, tore, bild
                   FROM spieler WHERE id='$id'";

    $r_alle = mysql_query($q_sql_alle);

    if ($_POST['submit'] == "speichern") {

    $id = $_POST['id'];
    $i_name = $_POST['i_name'];
    $i_vname = $_POST['i_vname'];
    $i_geb = $_POST['i_geb'];
    $i_gebort = $_POST['i_gebort'];
    $i_posi = $_POST['i_posi'];
    $i_stat = $_POST['i_stat'];
    $i_fam = $_POST['i_fam'];
    $i_tore = $_POST['i_tore'];

      $avar = explode(".", $i_geb);
      $tag=$avar[0];
      $monat=$avar[1];
      $jahr=$avar[2];
      $rightdatum = date ( "Y-m-d", mktime(0,0,0,$monat,$tag,$jahr) );

    $sql1 = "UPDATE spieler SET
            name='$i_name', vorname='$i_vname', geburtsdatum='$rightdatum', 
    geburtsort='$i_gebort', position='$i_posi', statfussball='$i_stat',  
    familienstand='$i_fam', tore='$i_tore'
            WHERE id='$id'";

    mysql_query($sql1);

    $q_sql_alle = "SELECT id, name, vorname, geburtsdatum, position, 
    statfussball, geburtsort, familienstand, tore, bild
                   FROM spieler WHERE id='$id'";

    $r_alle = mysql_query($q_sql_alle);

    }
    ?>
    <html>
    <head>
    <title>Spielerdetails</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="../css/svk.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    <!--
    .Stil1 {color: #000000}
    -->
    </style>
    </head>

    <body class="main">
    <?
    while ($erg = mysql_fetch_row($r_alle)) {
    extract($erg);
                                                // Datum VON formatieren
      ?>
    <center>
    <h1>Spielerdetails</h1>
    <h2><? echo "$erg[2], $erg[1]"; ?></h2>
    </center>
    <p>Die Bilder der einzelnen Spieler werde ich momentan noch manuell
     hochladen. Demn&auml;chst wird das aber auch hier im System funktionieren.
    Also Hadi, nur die Details pflegen! :D<br>
    <br>
    </p>
    <form method="post" action="spielerdetails.php">
    <table width="403" align="center">
     <tr>
      <td width="200"><span class="Stil1">Name</span></td>
      <td width="191"><input type="text" name="i_name" value="<? echo $erg[1]; ?>">
    </td>
     </tr>
     <tr>
      <td><span class="Stil1">Vorname</span></td>
      <td><input type="text" name="i_vname" value="<? echo $erg[2]; ?>"></td>
     </tr>
     <tr>
      <td><span class="Stil1">Geburtsdatum</span></td>
      <td><input type="text" name="i_geb" value="
    <?php echo strftime('%x'strtotime($erg[3])); ?>"></td>
     </tr>
     <tr>
      <td><span class="Stil1">Geburtsort</span></td>
      <td><input type="text" name="i_gebort" value="<? echo $erg[6]; ?>"></td></tr>
     <tr>
      <td><span class="Stil1">Position</span></td>
      <td><input type="text" name="i_posi" value="<? echo $erg[4]; ?>"></td>
     </tr>
     <tr>
      <td><span class="Stil1">Fussballstationen</span></td>
      <td><input type="text" name="i_stat" value="<? echo $erg[5]; ?>"></td>
     </tr>
     <tr>
      <td><span class="Stil1">Familienstand</span></td>
      <td><input type="text" name="i_fam" value="<? echo $erg[7]; ?>"></td>
     </tr>
     <tr>
      <td><span class="Stil1">Tore</span></td>
      <td><input type="text" name="i_tore" value="<? echo $erg[8]; ?>"></td>
     </tr>
      <tr>
      <td><span class="Stil1">Tore</span></td>
      <td>

    </td>
     </tr>

    </table>
    <div align="center"><br>
        <br>
        <input type="hidden" name="id" value="<? echo $erg[0]; ?>">
        <input type="submit" name="submit" value="speichern">
    </div>
    </form>
    <? }
    mysql_free_result($r_alle);


            $sql = "select bild from spieler where id='$id'";
            $qry = mysql_query($sql);
            $result = mysql_fetch_array($qry);
            if ($result['bild'] == "")
                {
                   header("Content-type: image/gif");
                  readfile("pics/steady-pics/johndoe.gif");
                  exit();
                }
                else
                    {
                    header('Content-Type: image/jpeg');
                echo $result['bild'];
                    }

    ?>
    <form action="upload.php" enctype="multipart/form-data" method="post">
    <input type="hidden" name="modul" value="1">
    Wählen Sie eine Datei
    <input type="file" name="datei"> <br>
    <input type="hidden" name="id" value="<? echo $id; ?>">
    <input type="submit" value="hochladen">
    </form> <br><br>
    Bild zeigen<br>
    <form action=upload.php>
    <input type=hidden name=modul value=2>
    Nummer des Bildes
    <input type=text name=nummer><br>
    <input type=submit value="Bild anzeigen">
    </form><br>
    <A href=upload3.php>Alle Bilder zeigen</a>
    </form>
    </body>
    </html>
    EDIT:
    linebreak sponsored by asp2php. Bitte demnächst selbst dafür sorgen.Danke.
    Zuletzt geändert von asp2php; 12.11.2004, 10:54.

    Kommentar


    • #17
      wenn du die Bildinformation ausgegeben hast, darfst du danach keine weiteren HTML-Code ausgeben. Bei dem einen hast du richtigerweise exit(); unmittelbar danach eingebaut, warum bei dem anderen nicht?

      Kommentar


      • #18
        es ist selbstverständlich nicht möglich, HTML-daten und bildinformationen als eine ressource auszuliefern.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          So, ich habe es nun so abgeändert

          PHP-Code:
          $sql "select bild from spieler where id='$id'";
          $qry mysql_query($sql);
          $result mysql_fetch_array($qry);
          if (
          $result['bild'] == "") {
                 
          header("Content-type: image/gif");
                
          readfile("pics/steady-pics/johndoe.gif");
                exit();
          } else {
                
          header('Content-Type: image/jpeg');
                echo 
          $result['bild'];
                  exit();

          Die Fehlermeldung bleibt jedoch die gleiche:

          Die Grafik "http://localhost/test1/adm/spielerdetails.php" kann nicht angezeigt werden, weil sie Fehler enthält.

          Kommentar


          • #20
            im internet explorer wird eine zusätzliche Fehlermeldung ausgegeben:
            Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\test1\adm\spielerdetails.php:48) in D:\xampp\htdocs\test1\adm\spielerdetails.php on line 128

            Kommentar


            • #21
              und davor darfst du auch nichts ausgegeben haben. (hab vergessen zu erwähnen ). d.h. im Klartext wenn du das Bild so ausgeben willst, darf nur sowas
              PHP-Code:
              // datenbank auslesen
              header ...
              echo ...
              exit(); 
              stehen. Davor und danach keine sonstige HTML-Ausgabe.

              Kommentar


              • #22
                hmmm, und wie zeig ich dann das Bild irgendwo auf einer Website an?
                Ich will ja das Bild irgendwo mitten im HTML angezeigt bekommen!
                Habe bereits versucht einer Variablen den Wert zuzuweisen und diese dann im HTML code auszugeben!

                Nun sieht es so bei mir aus:

                PHP-Code:
                $sql "select bild from spieler where id='$id'";
                $qry mysql_query($sql);
                $result mysql_fetch_array($qry);
                if (
                $result['bild'] == "") {
                    
                header("Content-type: image/gif");
                      
                readfile("pics/steady-pics/johndoe.gif");
                      exit();
                } else {
                      
                header('Content-Type: image/jpeg');
                      echo 
                $Bild $result['bild'];
                    exit();
                }

                ?>
                <html>
                <head>
                ...
                ...
                ...
                ... 
                Ich bekomme das Bild angezeigt, jedoch nichts mehr was danach kommt.
                Und jetzt die grosse Frage: Wie kann ich das Bild IM HTML Code (Tabelle) einbinden?
                Das kann es doch nicht sein, wieso ist das denn so kompliziert ein einfaches Bild aus einer mySQL DB auszulesen und an einer beliebigen Stelle zu positionieren?

                Kommentar


                • #23
                  Original geschrieben von tine_
                  hmmm, und wie zeig ich dann das Bild irgendwo auf einer Website an?
                  ah ... das ist was anderes. Du machst so:

                  1. eine Datei um das Bild aus der DB auszulesen, etwa picture.php
                  PHP-Code:
                  // Pseudocode etwa so
                  lese Bild_ID
                  Abfrage mit Bild_ID erstellen
                  Bildinformation aus DB lesen
                  Header senden
                  Bildinformation ausgeben
                  Script beenden 
                  2. Datei zum Anzeigen von Bild und anderen Infos
                  PHP-Code:
                  ...
                  <
                  html>
                  ...
                  <
                  img src="picture.php?id=1" ... />
                  ... 
                  That's it.

                  Kommentar


                  • #24
                    Ok, sehr gut, habs umsetzten können!
                    Vielen Dank für Eure Hilfe...

                    Schönes Wochenende noch

                    Kommentar


                    • #25
                      Kleine Frage:

                      Warum machst du es dir so kompliziert und speicherst die Bilder direkt in der DB?

                      Habe es so gelernt, dass das die DB-Abfragen nicht unbedingt beschleunigt... Falls ich mich irre, bitte ich um Berichtigung.

                      Ich habe es bis jetzt so gelöst, dass ich in der DB nur den Speicherort des Bildes abgelegt habe, oder ist das sehr falsch???

                      Heini

                      Kommentar


                      • #26
                        Ich habe es bis jetzt so gelöst, dass ich in der DB nur den Speicherort des Bildes abgelegt habe, oder ist das sehr falsch???
                        nein, es ist imho ist es die bessere methode, die bilder auch als solche im filesystem abzulegen ...
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #27
                          OffTopic:
                          Oh, mein erster beitrag, und er ist nicht völlig falsch! *freu*

                          Kommentar

                          Lädt...
                          X