php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-11-2010, 18:10
sascha_h
 Registrierter Benutzer
Links : Onlinestatus : sascha_h ist offline
Registriert seit: Nov 2010
Beiträge: 19
sascha_h befindet sich auf einem aufstrebenden Ast
Standard Array mit Laufindex ausgeben

Hallo Leute,

mein erster Post hier im Forum, suche jetzt schon drei Tage nach einer Lösung für mein Problem.

Ich habe eine Tabelle, in der ich Links zu Bildern gespeichert habe. Diese möchte ich nun ausgeben, möglichst in einer angenehmen Form. Ähnlich wie bei den Galerie Scripten die es alle so gibt.
Ich möchte gerne drei Bilder nebeneinander und dann N Zeilen untereinander ausgeben lassen. In einem Galerie Script habe ich dieses gefunden, das will aber nicht funzen. Es werden immer 12 Bilder nebeneinander angezeigt. Das scheint das zu sein, was in die Tabelle aussen drum passt.
Setze ich das $i=0 vor die while Schleife werden komischerweise nur 16 der 48 vorhandenen Einträge angezeigt. Verstehe nicht so ganz wo mein NEWBIE Denkfehler ist.

Danke.

Mein Script:

PHP-Code:
    $picture $mysqli->query("select pic_link, thumb_link FROM competition order BY sn desc");
    { 
        while(
$zeile1 $picture->fetch_array()) 
            {
            
$i 0;
                
//Reihe mit je drei Bildern
                    
if ($i == 0
                    echo 
                     
"<tr><td id='tableww'>"  "<a rel='mylightbox' class='navi' href='" 
                     
htmlspecialchars($zeile1["pic_link"]) . "' target='_blank'><img src='" 
                     
htmlspecialchars($zeile1["thumb_link"]). "' width='60px'  border='none'></a>" 
                     
"</td></tr>";
                    
$i ++;
            }            
    } 
Mit Zitat antworten
  #2 (permalink)  
Alt 12-11-2010, 18:44
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zuerst schmeisst du mal das id='tableww' raus. Eine ID darf pro Seite nur einmal vorkommen. Dann setze du Bedingung einfach so um:
PHP-Code:
if ($i == 0) {
  echo 
'<tr>';
}
echo 
'<td id="tableww">....</td>';
if ((
$i 1)% == 0) {
  echo 
'<tr>';

Und das $i = 0 gehört über die while-Schleife.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 12-11-2010, 19:27
sascha_h
 Registrierter Benutzer
Links : Onlinestatus : sascha_h ist offline
Registriert seit: Nov 2010
Beiträge: 19
sascha_h befindet sich auf einem aufstrebenden Ast
Standard

Hallo Peter, erstmal danke für den Hinweis mit der ID="tableww", das habe ich entfernt.
Mein Script sind nun so aus:
PHP-Code:
$picture $mysqli->query("select pic_link, thumb_link FROM competition order BY sn desc");
    { 
        
$i 0;
        while(
$zeile1 $picture->fetch_array()) 
            {
            
                if (
$i == 0) {
                    echo 
'<tr>';
                    }
                        echo 
                        
'<td>' '<a rel="mylightbox" class="navi" href="'htmlspecialchars($zeile1["pic_link"]) . '" target="_blank">
                        <img src="'
htmlspecialchars($zeile1["thumb_link"]). '" width="60px" border="none"></a>' '</td>';
                        if ((
$i 1)% == 0) {
                          echo 
'<tr>';
                        } 
                
                    
            }            
    } 
Liege ich damit richtig?
Denn die Anzeige ( 12 Bilder nebeneinander ) ist immer noch die gleiche.
Mit Zitat antworten
  #4 (permalink)  
Alt 12-11-2010, 19:56
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Sollte eigentlich nicht sein. Hast du mal ein Online-Beispiel verfügbar? Oder schau dir mal den erzeugten HTML-Quellcode an. Ist der valide? Oder gibt es da Unstimmigkeiten?

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 12-11-2010, 20:56
sascha_h
 Registrierter Benutzer
Links : Onlinestatus : sascha_h ist offline
Registriert seit: Nov 2010
Beiträge: 19
sascha_h befindet sich auf einem aufstrebenden Ast
Standard

Hallo Peter,

nein ich habe leider kein Online Beispiel, entwickle hier auf meinem iMac unter Xampp und Dreamweaver.
Hm so weit ich das sehen kann ist von den Rahmen Bedingungen her alles gut, nur die Ausgabe des Bilder Teils sieht nicht korrekt aus.

PHP-Code:
<a rel="mylightbox" class="navi" href="http://www.php-resource.de/forum/vollbild/2407-05-Silvina.jpg" target="_blank">
<
img src="http://www.php-resource.de/forum/vorschaubild/2407-05-Silvina.jpg" width="60px" border="none"></a></td><tr><td>
<
a rel="mylightbox" class="navi" href="http://www.php-resource.de/forum/vollbild/2407-04-Silvina.jpg" target="_blank">
<
img src="http://www.php-resource.de/forum/vorschaubild/2407-04-Silvina.jpg" width="60px" border="none"></a></td><tr><td>
<
a rel="mylightbox" class="navi" href="http://www.php-resource.de/forum/vollbild/2407-02-Silvina.jpg" target="_blank">
<
img src="http://www.php-resource.de/forum/vorschaubild/2407-02-Silvina.jpg" width="60px" border="none"></a></td><tr><td>
<
a rel="mylightbox" class="navi" href="http://www.php-resource.de/forum/vollbild/2407-06-Silvina.jpg" target="_blank">
<
img src="http://www.php-resource.de/forum/vorschaubild/2407-06-Silvina.jpg" width="60px" border="none"></a></td><tr><td>
<
a rel="mylightbox" class="navi" href="http://www.php-resource.de/forum/vollbild/2407-12-Silvina.jpg" target="_blank">
<
img src="http://www.php-resource.de/forum/vorschaubild/2407-12-Silvina.jpg" width="60px" border="none"></a></td><tr><td>
<
a rel="mylightbox" class="navi" href="http://www.php-resource.de/forum/vollbild/2407-11-Silvina.jpg" target="_blank">
<
img src="http://www.php-resource.de/forum/vorschaubild/2407-11-Silvina.jpg" width="60px" border="none"></a></td><tr><td>
<
a rel="mylightbox" class="navi" href="http://www.php-resource.de/forum/vollbild/2407-08-Silvina.jpg" target="_blank"
Habe hier noch einen Slash hinzugefügt hat aber nix geändert:
PHP-Code:
if (($i 1)% == 0) {
  echo 
'</tr>';
    } 

Geändert von sascha_h (12-11-2010 um 22:18 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 12-11-2010, 21:46
Peacie
 Registrierter Benutzer
Links : Onlinestatus : Peacie ist offline
Registriert seit: Nov 2003
Beiträge: 341
Peacie ist zur Zeit noch ein unbeschriebenes Blatt
Peacie eine Nachricht über ICQ schicken Peacie eine Nachricht über AIM schicken Peacie eine Nachricht über Yahoo! schicken
Standard

Zuerst mal, was sollen die umschliessenden {} (ganz aussen)?
und in deinem letzten beispiel fehlt das $i++;
PHP-Code:
$picture $mysqli->query("select pic_link, thumb_link FROM competition order BY sn desc"); 
        
$i 0
        while(
$zeile1 $picture->fetch_array())  
            { 
             
                if (
$i == 0) { 
                    echo 
'<tr>'
                    } 
                        echo  
                        
'<td>' '<a rel="mylightbox" class="navi" href="'htmlspecialchars($zeile1["pic_link"]) . '" target="_blank"> 
                        <img src="'
htmlspecialchars($zeile1["thumb_link"]). '" width="60px" border="none"></a>' '</td>'
                        if ((
$i 1)% == 0) { 
                          echo 
'</tr>'
                        }  
                 
    
$i++;                       
            } 
sollte gehen (ungetestet)

edit: da sehe ich gerade, das ich das untere </tr> falsch hatte... geändert

und bitte mal den post anpassen, ich muss auf 22" scrollen
__________________
Mibau Datendesign - Online Ferienwelt

Geändert von Peacie (12-11-2010 um 21:55 Uhr) Grund: sorry ein / vergessen
Mit Zitat antworten
  #7 (permalink)  
Alt 12-11-2010, 22:09
mephisto111
 Registrierter Benutzer
Links : Onlinestatus : mephisto111 ist offline
Registriert seit: Nov 2003
Beiträge: 52
mephisto111 befindet sich auf einem aufstrebenden Ast
Standard

Code:
$i=1;
$str='';
while($zeile1 = $picture->fetch_array()) 
{
      $str.='<td>'.'gewuenschter Inhalt'.'</td>';
      if($i%3==0)
      {
	    $str='<tr>'.$str.'</tr>'."\n";
	    echo $str;
	    $str='';
      }
      $i++;
}
$add='';
if(($i-1)%3!=0) # Letzte Zeile
{
      for($j=($i-1)%3+1;$j<=3;$j++)
      $add.='<td></td>';
      $str='<tr>'.$str.$add.'</tr>'."\n";
      echo $str;
}
Mit Zitat antworten
  #8 (permalink)  
Alt 13-11-2010, 13:55
sascha_h
 Registrierter Benutzer
Links : Onlinestatus : sascha_h ist offline
Registriert seit: Nov 2010
Beiträge: 19
sascha_h befindet sich auf einem aufstrebenden Ast
Standard

morgen,
leider hatten beide Ansätze keinen Erfolg. Den Code von Peacie habe ich so integriert:
PHP-Code:
<?php

include "../includes/db_daten.php";
    
$picture $mysqli->query("select 
                              pic_link, thumb_link 
                              FROM competition order 
                              BY sn desc"
);
        
$i 0;
            while(
$zeile1 $picture->fetch_array()) 
            {
                if (
$i == 0) {
                    echo 
'<tr>';
                    }
                        echo 
                        
'<td>' '<a rel="mylightbox" class="navi" href="'
                        
htmlspecialchars($zeile1["pic_link"]) 
                        . 
'" target="_blank">
                        <img src="'
htmlspecialchars($zeile1["thumb_link"])
                        . 
'" width="60px" border="none"></a>' '</td>';    
                        if ((
$i 1)% == 0) {
                          echo 
'</tr>';
                        } 
            
$i++;
            }            
?>
Und den Code von Mephisto habe ich so umgesetzt:
PHP-Code:
<?php
include "../includes/db_daten.php";
    
$picture $mysqli->query("select 
                              pic_link, thumb_link 
                              FROM competition order 
                              BY sn desc"
);
$i=1;
$str='';
while(
$zeile1 $picture->fetch_array()) 
{
      
$str.='<td>'.'<a rel="mylightbox" class="navi" href="'
                        
htmlspecialchars($zeile1["pic_link"]) 
                        . 
'" target="_blank">
                        <img src="'
htmlspecialchars($zeile1["thumb_link"])
                        . 
'" width="60px" border="none"></a>'.'</td>';
      if(
$i%3==0)
      {
        
$str='<tr>'.$str.'</tr>'."\n";
        echo 
$str;
        
$str='';
      }
      
$i++;
}
$add='';
if((
$i-1)%3!=0# Letzte Zeile
{
      for(
$j=($i-1)%3+1;$j<=3;$j++)
      
$add.='<td></td>';
      
$str='<tr>'.$str.$add.'</tr>'."\n";
      echo 
$str;
}



?>
beides hat leider den gleichen Effekt das soviel wie möglich Bilder pro Zeile angezeigt werden. Bis anscheinend die Tabelle voll ist und dann geht es in die nächste Zeile.
Mit Zitat antworten
  #9 (permalink)  
Alt 13-11-2010, 14:07
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Warum missbrauchst du HTML-Tabellen fürs Layout?
Mit Zitat antworten
  #10 (permalink)  
Alt 13-11-2010, 14:11
sascha_h
 Registrierter Benutzer
Links : Onlinestatus : sascha_h ist offline
Registriert seit: Nov 2010
Beiträge: 19
sascha_h befindet sich auf einem aufstrebenden Ast
Standard

Sorry falsch ausgedrückt.
Keine Tabelle die, die breite der Seite vorgibt sondern das Box Modell.
Mit Zitat antworten
  #11 (permalink)  
Alt 13-11-2010, 15:27
mephisto111
 Registrierter Benutzer
Links : Onlinestatus : mephisto111 ist offline
Registriert seit: Nov 2003
Beiträge: 52
mephisto111 befindet sich auf einem aufstrebenden Ast
Standard

The W3C Markup Validation Service
Mit Zitat antworten
  #12 (permalink)  
Alt 13-11-2010, 16:00
sascha_h
 Registrierter Benutzer
Links : Onlinestatus : sascha_h ist offline
Registriert seit: Nov 2010
Beiträge: 19
sascha_h befindet sich auf einem aufstrebenden Ast
Standard

Mephisto, das hat den Fehler aufgedeckt:

PHP-Code:
{
        
$str='<table><tr>'.$str.'</tr></table>'."\n";
        echo 
$str;
        
$str='';
      } 
Es fehlte die Angabe das es sich um eine Table handelt.

Problem gelöst, vielen Dank an alle!!!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array ausgeben owi PHP Developer Forum 3 30-08-2008 19:38
Array als Tabelle ausgeben brainwave8 PHP Developer Forum 16 15-10-2006 19:34
Array ausgeben AgentCyber PHP Developer Forum 5 25-10-2005 00:29
X in Array schreiben, ausgeben, X+1 in Array... usw. usw... schwarzfahrer PHP Developer Forum 3 19-12-2004 18:52
ARRAY ausgeben? thebrain PHP Developer Forum 4 04-05-2003 14:56

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:07 Uhr.