php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.03.2009, 11:20  
Benutzer
 
Registriert seit: 21.03.2009
Beiträge: 36
Octavian befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] SQL Link als Bild ausgeben

Hallo liebe Fachmänner =)

in der Hoffnung das ihr mir weiter helfen könnte, wollte ich euch bitte mir zu sagen wo ich mein Fehler habe. Vielleicht kennt ihr nütliche Tutorials für mich, die den Aufbau, eintrag von Bilder als Link udn Abfruf von Bildern in einer Tabelle beschreibt. Ich suche seit Tagen vergebens. selbst einfach Scripte scheinen bei mir nicht laufen zu wollen. =(

Ich habe momentan folgende Tabelle mit manuell eingefügtem Inhalt:

Code:
CREATE TABLE IF NOT EXISTS `galerie` (
  `bid` int(20) NOT NULL auto_increment,
  `BName` varchar(30) NOT NULL,
  `BKategorie_ID` int(10) NOT NULL,
  `BBeschreibung` varchar(200) NOT NULL,
  `User_ID` int(10) NOT NULL,
  `BLink` varchar(100) NOT NULL,
  PRIMARY KEY  (`bid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Daten für Tabelle `galerie`
--

INSERT INTO `galerie` (`bid`, `BName`, `BKategorie_ID`, `BBeschreibung`, `User_ID`, `BLink`) VALUES
(1, 'Test', 1, 'testbeschreibung', 1, 'wallpaper.jpg'),
(2, 'apple', 2, 'geil', 1, 'wallpaper.jpg'),
(3, 'nice', 3, 'nettes bild', 1, 'wallpaper.jpg');
Ich möchte zu erst lediglich die Bilder angezeigt bekommen, die im root verzeichnis zu testzwecken kopiert wurden.

dazu wollte ich folgenden code verwenden:

PHP-Code:
<?php
session_start
();
include 
'php/connect.inc.php';


$abfrage "SELECT BLink FROM galerie";
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   {
   echo 
"$row->BLink <br>";
   echo 
"<img src=\"" $ergebnis['BLink'] . "\" alt=\"Bildchen\" />";
   }


?>
er gibt zwar den Link mit $row->BLink aus, aber zum Bilder anzeigen kommt er nicht. da ist nur ein blaues Kästchen mit einem Fragezeichen enthalten.

ich verwenden Safari und arbeite mit der XAMPP (Apache und phpmyadmin).

Könnt ihr mir weiter helfen?

Ich danke euch schon vielmals dafür =)

LG
Octavian ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.03.2009, 11:22  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Wie wäre es, wenn du statt $ergebnis['Blink'] mal $row->Blink nähmest?
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 21.03.2009, 11:38  
Benutzer
 
Registriert seit: 21.03.2009
Beiträge: 36
Octavian befindet sich auf einem aufstrebenden Ast
Standard

Hallo Manko10, tausend dank für deine schnelle Antwort =) du bist mein neuer Lieblingsprogga!

Aber leider geht das auch nicht. Ich bekomme dann 3 Kästchenausgaben die aber anscheinend Images sein sollen. Werde d´jedoch nicht angezeigt und der Link zum Bild ist der selbe wie die Seite.

Liegt es evt daran, dass ich diese Seite includiere?

Das ist meine Index:

PHP-Code:
<?
session_start
();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8">
<META NAME="Copyright" content="Modern Picture">
<META HTTP-EQUIV="content-language" content="DE">
<META NAME="Rating" content="General">
<META NAME="Designer" content="Ronny Ruhe">
<META NAME="Keywords" content="Bilder, Fotos, Aktfotos, Familienfotos, Webfotos, Landschaften, entwickeln lassen, bestellen, Termine vereinbaren">
<META NAME="Abstract" content="Fotohandel Modern Picture ligt ihre Präsenz am Herzen. Wir gestellten ihre Bilder und zeigen Sie von der besten Seite. Machen Sie direkt online einen Termin mit uns.">
<META NAME="Title" content="Modern Picture">
<META NAME="revisit-after" content="7">
<META NAME="Robots" content="index,follow">
<META NAME="Description" content="Ein moderner Fotohandel das mit dem neusten Wissensstand und der Modernsten Ausrüstung Ihrer Wünsche erfüllt. Schauen Sie herein und erfrischen Sie sich am Talent der Fotografen. Sie haben bestimmte Vorstellungen? kein Problem. Wir setzen Ihre Ideen um und präsentieren ihnen das vollkommene Werk.">
<META HTTP-EQUIV="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" content="0">
<META NAME="Author" content="Ronny Ruhe">
<title>Modern Picture</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>

<body class="thrColElsHdr">
<div id="header">
        <div class="header">
          <p>&nbsp;</p>
        </div>
      <!-- end #header --></div>
    <div id="container">
      <div id="sidebar1">
        <a href="./index.php" title="Hauptverzeichnis"><div class="home"></div></a>
        <a href="?seite=galerie/upload" title="Fotoalbum"><div class="galerie"></div></a>

                <?php
             
if(!session_is_registered('user') || $_SESSION['user'] == "") {
        echo 
'<a href="?seite=neu" title="Registrieren"><div class="registrieren"></div></a>';
        echo 
'<a href="?seite=index" title="Login"><div class="anmelden"></div></a>';
            }
    
             if(
session_is_registered('user') || $_SESSION['user'] != "") {
        echo 
'<a href="?seite=sichere_seite"><div class="profilseite"></div></a>';
        echo 
'<a href="?seite=termin/neu"><div class="termin"></div></a>';
         }
 
?>
           <a href="?seite=impressum" title="Seiteninhaber"><div class="impressum"></div></a>
         <a href="?seite=kontakt" title="Kontaktformular"><div class="kontakt"></div></a>
         
                         <?php
             
if(session_is_registered('user') || $_SESSION['user'] != "") {
        echo 
'<a href="?seite=logout"><div class="logout"></div></a>';
         }
 
?>

              <!-- end #sidebar1 --></div>
      <div id="mainContent">
                   <?php
                    
if(empty($_GET['seite']))
                    
$_GET['seite'] = "main";
                    if(
file_exists("php/".$_GET['seite'].".php")) {
                    include(
"php/".$_GET['seite'].".php");
                  } else {
                    include(
"php/error.php");
                  }
            
?>
        <!-- end #mainContent -->
</div>
        <!-- Dieses clear-Element sollte direkt auf das #mainContent-div folgen, um das #container-div anzuweisen, alle untergeordneten Floats aufzunehmen. --><br class="clearfloat" />
       <div id="footer">
                  <!-- end #footer -->         
      </div>
<!-- end #container --></div>
    </body>
</html>
Octavian ist offline  
Alt 21.03.2009, 11:41  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Gibt Dir das echo "$row->BLink <br>"; denn den "richtigen" Link vor dem Bild aus?
David ist offline  
Alt 21.03.2009, 11:46  
Benutzer
 
Registriert seit: 21.03.2009
Beiträge: 36
Octavian befindet sich auf einem aufstrebenden Ast
Standard

Ja genau, echo "$row->BLink"; zeigt mir alle Links an, die in der Tabelle vorhanden sind.
Deshalb verzweifeln ich auch schon =( ich habs auch schon debugging gemacht aber es werden keine fehler angezeigt.

Kann es ansich am apache liegen?

Denn auch wenn ich mit folgendem Slript versuche Bilder hoch zu laden geht es nicht. Safari rödelt nur und kommt nicht ans Ziel.

PHP-Code:
<?php
session_start
();
?>

<html>
<head><title>Bilder abspeichern</title></head>
<body>

<?php
// code that will be executed if the form has been submitted:

if ($submit) {

    
// connect to the database
    // (you may have to adjust the hostname,username or password)

    
MYSQL_CONNECT("localhost","root","");
    
mysql_select_db("page");

    
$data addslashes(fread(fopen($form_data"r"), filesize($form_data)));

    
$result=MYSQL_QUERY("INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) ".
        
"VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");

    
$idmysql_insert_id();
    print 
"<p>This file has the following Database ID: <b>$id</b>";

    
MYSQL_CLOSE();

} else {

    
// else show the form to submit new data:
?>

    <form method="post" action="<?php echo $PHP_SELF?>" enctype="multipart/form-data">
    Bildbeschreibung:<br>
    <input type="text" name="form_description"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>Bild zum hochladen aussuchen:<br>
    <input type="file" name="form_data"  size="40">
    <p><input type="submit" name="submit" value="submit">
    </form>

<?php

}

?>

</body>
</html>
Das wäre dann aber eine andere Tabelle.
Octavian ist offline  
Alt 21.03.2009, 11:56  
Benutzer
 
Registriert seit: 21.03.2009
Beiträge: 36
Octavian befindet sich auf einem aufstrebenden Ast
Standard

Ich habs.. das kann doch nicht sein. cih fummel seit ewig rum udn jetzt gehts!!

Ich hab while($row = mysql_fetch_object($ergebnis) verwendet, dabei muss doch while($row = array($ergebnis) genutzt werde. warum würde ich auch gerne wissen aber so involviert bin ich nicht in php ^^
auf jeden fall geht es dann mit echo "<img src=\"" . $row['BLink'] . "\" alt=\"Bildchen\" />";

Aber ich würde gerne noch etwas wissen, das damit zu tun hat. Eventuell sollte ich es abe rins neue thema posten?

Ich möchte jetzt eine zufalls ausgabe generieren.
Dabei sollen maximal 9 bilder auf eine seite, ohne sieten wechsel - das ist mir nämlich zu kompliziert. udn dafür mochte ich jedes bild zufällig aus der spalte suchen lassen. ist das möglich?

LG
Octavian ist offline  
Alt 21.03.2009, 15:43  
Benutzer
 
Registriert seit: 21.03.2009
Beiträge: 36
Octavian befindet sich auf einem aufstrebenden Ast
Standard

Vollständigkeitshalber wollte ich mir meine Frage selber beantworten =)

Ich kenn das ja, wenn mans sonst ein Thema liest und nie ein Ergebnis bekommt ^^

Zufallsausgabe total easy mit ran() bzw ran(now()) wie z.B.
$abfrage = "SELECT dateiname FROM picture ORDER BY RAND(NOW()) LIMIT 1";

Tausend dank an alle die mi geholfen haben und es wollten

LG
Octavian ist offline  
Alt 21.03.2009, 16:46  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

ORDER BY Rand() LIMIT 1 kann bei größeren Datensätzen zum Flaschenhals werden. Bei Bedarf kannst Du Dir ja mal den einen oder anderen Beitrag bei order by rand | MySQL Performance Blog durchlesen.
David ist offline  
Alt 21.03.2009, 19:53  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Für soetwas lohnt es sich immer, sich mal den generierten HTML-Quelltext anzusehen (beim Firefox Strg+U). Dann findet man seinen Fehler meist schneller.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 21.03.2009, 20:35  
Benutzer
 
Registriert seit: 21.03.2009
Beiträge: 36
Octavian befindet sich auf einem aufstrebenden Ast
Standard

Danke für den Hinweis David =) ich denke ich werde nachträglich mehrere Seiten einbauen, aber erst einmal wollte ich für nur ein paar Bilder pro Kategorien Seite etwas anzeigen lassen. Und damit die Seite nicht überflutet und nicht immer die selben zu sehen sind Zufallsbilder einbauen.

Aber mein Upload formular will immer noch nicht so wie ich es will. Ich habe es depugged aber ich bekomme keien Fehler ausgegeben. Safari rödelt immer nur, läd kein Bild ins verzeichnis und die atenbank wird auch nicht gefüllt.

Seht ihr woran es liegen könnte?

PHP-Code:
<?php
session_start
();
?>
<html> 
<head> 
<title>upload</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 
<h2>Datei-Upload</h2> 
<form  action="?seite=galerie/upload"  
  method="post" enctype="multipart/form-data"> 
  Bild hochladen<br> 
  <input type="hidden" name="MAX_FILE_SIZE" value="90240"> 
  <input type="file" name="dateiname"> 
  <hr>
    <p>Welche Bildkategorie?</p>
  <p>
      <input type="radio" name="Zahlmethode" value="3"> Portrait   
    <input type="radio" name="Zahlmethode" value="2"> Landschaft
    <input type="radio" name="Zahlmethode" value="3"> Familie
    <input type="radio" name="Zahlmethode" value="2"> Tiere
   <input type="radio" name="Zahlmethode" value="1"> Besonderheit
  </p> 
  Kommentar zum Bild  <br> 
  <br> 
  <textarea name="kommentar" cols="30" rows="5" id="kommentar"></textarea> 
  <input type="text" name="datum" value="<? echo date("Y-m-d H:i:s")?>"> 
  <br> 
  <br> 
  <input type="hidden" name="abschicken" value="1"> 
  <input type="submit" value="Übertragen"> 
</form> 
<hr>  

<?php 
// Abfrage, ob Formular abgeschickt worden ist 
// wenn ja, dann Definition der Upload-Variablen  

if (isset($_POST["abschicken"])) { 
  
$dateiname $_FILES['dateiname']['name']; 
  
$tmp_name $_FILES['dateiname']['tmp_name'];
  
$kommentar = isset($_POST['kategorie']) ? $_POST['kategorie'] : ''
  
$kommentar = isset($_POST['kommentar']) ? $_POST['kommentar'] : ''
  
$datum = isset($_POST['datum']) ? $_POST['datum'] : ''
  if (!isset(
$dateiname)) {exit;} 
   
  
// Definition unterschiedlicher Fehlermeldungen 
     
  
if(!is_uploaded_file($tmp_name)) { 
    echo 
'Fehler!<br><ul>'
    switch (
$_FILES['dateiname']['error']) { 
        case 
1: echo "<li>Die Datei überschreitet die  
                maximale Größe von 2 Megabytes."
;  
                break; 
        case 
2: echo "<li>Die Datei überschreitet die  
                maximale Größe von $_POST[MAX_FILE_SIZE] Bytes."
;  
                break; 
        case 
3: echo "<li>Die Datei wurde nur  
                teilweise übertragen."
;  
                break; 
        case 
4: echo "<li>Sie haben vergessen,  
                die zu überspielende Datei anzugeben."
;  
                break; 
    } 
    echo 
"</li></ul>"
    exit; 
  } 
   
  
// Festlegen des Pfades mit Dateinamen.      
  
$uploadname ="imgage/$dateiname"
   
move_uploaded_file($tmp_name,$uploadname);   
   
  
// Ausgabe auf dem Bildschirm zur Bestätigung. 
  
printf("Die Datei <b>%s</b> befindet sich auf dem Webserver im Ordner  
            <b>%s</b>!<br>\n"
,  
                  
$_FILES['dateiname']['name'], $uploadname);  
  
printf("Sie ist <b>%s Bytes</b> groß und vom Typ <b>%s</b>. 
            <br>\n"
$_FILES['dateiname']['size'],  
                  
$_FILES['dateiname']['type']);  
   
  
// Einfügen eines Datensatzes zum Bild in Datenbank 
  // Verbindung zur Datenbank 
     
    
$server "localhost"$user "root"$pass ""
    
$database "page"
    
$verbindung = @mysql_connect($server,$user,$pass
    or die (
"Keine Verbindung möglich"); 
    
mysql_select_db($database$verbindung
    or die (
"SQL-Fehler = ".mysql_error()); 
     
    
// Einfügen des Datensatzes 
     
    
$sql "insert into picture (kommentar,dateiname,datum,kategorie)  
            Values ('$kommentar','$dateiname','$datum','$kategorie')"  
            
or die ("SQL-Fehler = ".mysql_error()); 
    
$rs mysql_query($sql); 
    
mysql_close($verbindung); 

?> 
</body> 
</html>
Octavian ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bild erzeugen lassen und in Tabelle ausgeben maximus PHP Tipps 2008 7 11.11.2008 20:53
[Erledigt] Imagick (PECL) Bild ausgeben Schlumpf PHP Tipps 2008 2 29.10.2008 13:57
[Erledigt] bild aus db und verzeichn is mit einem link löschen! litterauspirna PHP Tipps 2008 3 15.09.2008 15:46
zufälliges Bild per random ausgeben - IE Sicherheitswarnung snemies PHP Tipps 2008 0 16.02.2008 02:17
infos auf link oder bild wenn die maus darauf zeigt? PHP Tipps 2006 11 04.02.2006 00:17
externes Bild in php ausgeben PHP Tipps 2005-2 3 30.08.2005 13:50
Schrift als Bild ausgeben PHP Tipps 2005-2 3 15.08.2005 13:56
Menü das von links nach rechts ins bild kommt zum aufklappen HTML, Usability und Barrierefreiheit 11 28.06.2005 18:21
Bild (.jpg) mit Link auf Festplatte speichern PsychoEagle PHP Tipps 2005-2 11 16.06.2005 14:54
Bild mit Link aus Tabelle nebeneinander ausgeben PHP Tipps 2005 3 25.04.2005 12:19
Wie kann ich einen url als link ausgeben? PHP Tipps 2005 6 17.04.2005 15:23
abfrage als link ausgeben Datenbanken 10 21.11.2004 17:33
In einem Bild ein php funktion ausgeben! PHP Tipps 2004 1 24.10.2004 16:56
tabellen verknuepfen und ergebnisse ueber link ausgeben PHP Tipps 2004 1 21.09.2004 21:24
Link auf Externes Bild mit Größenanpassung PHP Tipps 2004 1 03.07.2004 15:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql links werden nicht angezeigt, php link auf bild, php bild aus sql anzeigen, sql bilddatei in php ausgeben, bild upload link in die sql, link mit bild ausgeben, verknüpfung zu einem bild einfügen, bild aus sql ausgeben, link als bild ausgeben, http://www.php.de/php-einsteiger/53203-erledigt-sql-link-als-bild-ausgeben.html, php bild mit link anzeigen, link in sql und als bild in html, bild wird als link ausgegeben, in sql sollen links und bilder einbinden, php upload bild link bild anzeigen, bilder sql verlinken, php bild aus datenbank ausgeben nur fragezeichen, sql bildpfad ausgeben, bild in sql als verweis, bild link sql

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum