Thread Verfasser: Catzenjaeger
Thread ID: 973
Thread Info
Es gibt 3 Beiträge zu diesem Thema, und es wurde 456 Mal angesehen.  Ausserdem wurden Dateien angehängt.
ï»ż

Thema ansehen

Wer ist hier? 1 Gäste
 Thema drucken
Template function Fragen
Catzenjaeger
Hola,

versuche gerade die Darstellung der Figuren meiner Datenbank. Im Infusion Ordner liegt die figures.php Datei dort sind Funktionen definiert die mit einem Template welches im Unterordner templates/figurelib.php zusammenhÀngen.

Was klappt: die Darstellung der Kategorien und deren ZĂ€hler (also wie viel Figuren innerhalb sind) bei klick drauf werden die Figuren auch angezeigt.

Was klappt dort nicht:

1.) Die Umschaltung Listenansicht/Gallerieansicht
die Listenansicht klappt. Ich habe aber 2 Ansichten vorgesehen. Einmal eine TabellenĂŒbersicht der Figuren und einmal eine Art Gallerieansicht wo die Figuren mittels Bild gezeigt werden.

Das habe ich mit ...

Download Code  Code
// SETTINGS HOLEN
$fil_settings = get_settings("figurelib");
if ($asettings['figure_display']) {
echo "<b>TABELLENANSICHT</b>";
   } else {
echo "<b>GALERIENSICHT</b>";
}



versucht zu filtern .. Funktioniert nicht und weiss nicht warum. Egal ob figure_display in DB auf 0 oder 1 steht . wenn ich mir echo $asettings['figure_display']; darstellen lasse kommt nichts -- warum?

2.) in der Gallerieansicht sollen die Figuren je nach dem welcher Wert in den Settings als "figure_per_line" angegeben ist dargestellt werden . Also bei Wert 2 in DB sollen 2 Figuren nebeneinander und die nÀchsten beiden ebenfalls nebeneinander darunter usw. angezeigt werden. Momentan werden aber alle untereinander angezeigt. Hier ist also ein kleiner Fehler.

3.) Das mit dem Bild bekomme ich noch nicht richtig hin. Ich schaffe es ohne Probleme wenn ein Bild vorhanden ist dies darzustellen ... aber nicht wenn kein Bild vorhanden ist ein Platzhalterbild anzuzeigen. Egal welche Abfragen ich da einbaue.

4.) wie macht man folgendes: ich habe einen Tabelle (siehe Bild Anhang) Das ganz große Bild dÂŽsoll das erste Bild was der User uploadet sein. die anderen sollen dann am Rand verteilt werden wie auf den Bild (also die bis zu 9 weiteren) wenn nicht so viele da sind sollen die Platzhalterbilder angezeigt werden. kann man so etwas ĂŒberhaupt realisieren? Problem ... denke ich ... meine submit speichert die Bilder in einenm Ordner. Die bilder sind nur ĂŒber die Figure_id zuordbar die wir zu jeden Bild mit abgelegt damit man weiss zu welcher figur das Bild gehört.

Können die Profis hier mal drĂŒber schauen bitte :) BITTTTTTTTEEEE :)

hier ist das live: http://aliencolle...igures.php

Im Anhang mal die Datei
Catzenjaeger hat folgende Datei angehängt:
Du hast nicht die Berechtigung die Anhäge dieses Themas zu sehen.
 
https://github.com/Catzenjaeger/FigureLib
Top
David
1.)

Download Code  Code
$fil_settings = get_settings("figurelib");
if ($fil_settings['figure_display']) {
echo "<b>TABELLENANSICHT</b>";
   } else {
echo "<b>GALERIENSICHT</b>";
}




ErklÀrung: Du musst selbstverstÀndlich schon die Variable $fil_settings auch in der IF-Abfrage verwenden, denn $asettings wÀre in diesem Fall eine undefinierte Variable.


2.) Du musst mit einem Counter arbeiten ..
Das ganze könnte so aussehen (selbstverstĂ€ndlich auf deine BedĂŒrfnisse anpassen)
Download Code  Code
$counter = 1;
$result = dbquery("SELECT felder FROM ".DB_TABELLE." WHERE konditionen");
if (dbrows($result)) {
  while ($data = dbarray($result)) {
    echo "Ausgabe von etwas ..";
    echo ($counter % 2 == 0 ? "<br />" : "");
    $counter++;
  }
}





3.) Du musst mit file_exists prĂŒfen, ob ein Bild vorhanden ist.
Download Code  Code
if (@file_exists(PFAD.$variable)) {
  echo "<img src .. ";
} else {
  echo "Platzhalter";
}





4.) Du ließt alle Bilder aus und sortierst diese nach ID zuerst (niedrige als erste), somit ist das erste hochgeladene Bild auch das erste.
Abfrage beispeilsweise:
Download Code  Code
$result = dbquery("SELECT felder FROM ".DB_FIGURE_IMAGES." WHERE figure_id='ID der Figur' ORDER BY felder_id ASC");





Bitte beachte, dass dies alles Beispielcodes sind und nicht einsatzfÀhig!
Liebe GrĂŒĂŸe, David Smile

PHP-Fusion Österreich
 
http://www.php-fusion.at/
Top
Catzenjaeger
Hallo David danke erst einmal fĂŒr deine Antwort. Ich bin momentan am Ende. Das dies so schwer ist hĂ€tte ich nie gedacht ... ich denke schon ans aufgeben ... aber das geht nicht ... ich brauche die Datenbank fĂŒr meinen Website ......

Fehlen bei der ganzen Datenbank tut eigentlich noch
- die Übersicht der Figuren pro Kategorie (das ist das hier )
- einen Editbereich wo man die Figuren bearbeiten kann. Das war in der alten Version alles in einer Datei namens figures.php


zum Thema:

Das mit den Umschalten Tabellen/Gallerieansicht passt jetzt .. heisst

Punkt 1 ist eigentlich erledigt. Wobei ich nicht begreife das an diversen stellen zB asettings[.....] genommen wird aber hier fi_settings stehen muss damit es greift.

Zu Punkt 2:
Counter ist drin geht aber nicht ... jetzt ist es noch mehr verhunzt. Was ja auch noch mit rein muss ist die Abfrage aus den settings "figure per page" und "figure per line".
mit dem untenstehenden Code werden die Figuren zig mal untereinander gezeigt

zu Punkt 3: ich habe deine Abfrage mit eingebaut .. Bild wird trotzdem nicht angezeigt. Was ich hier nicht begreife .. das ist ja die template Datei aus dem Ordner templates. Da kommen doch eigentlich keine DB Abfrage rein oder? egal.

zu Punkt 4: wÀre es nicht einfacher gewesen wenn man in der submit jeden Bild einen Nummer irgendwie mitgegeben hÀtte ... meinetwegen _BILD_1 / _BILD_2 usw. dann könnte man die leichter auslesen :) Nun das mit den darstellen muss ich spÀter dann machen weil erstmal muss das andere laufen heisst Punkt 4 ist heavy hoch 10 da muss ich spÀter ran

Hier das StĂŒck der Gallerienasicht was aber nicht geht. Es werden zig Figuren untereinander gezeigt. In der DB sind momentan 3 Figuren wobei hier anscheinend nur 2 gezeigt werden weil ja die settings so eingestellt sind das 2 pro seite angezeigt werden sollen und wenn mehr sind soll die Navigation unten erscheinen (tut sie aber nicht)

Download Code  Code
         $counter = 0;

         echo "<div class='row m-0'>\n";
         if (!empty($info['item'])) {
            foreach($info['item'] as $figure_id => $data) {
               if ($counter != 0 && ($counter%$columns == 0)) {
                  echo "</div>\n<div class='row m-0'>\n";
               }
                           
               echo "<table cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
               echo "<td align='' valign='top' class=''>\n";   
               
               //BILD
               $result2 = dbquery("SELECT figure_images_image_id, figure_images_image, figure_images_thumb
                              FROM ".DB_FIGURE_IMAGES." WHERE figure_images_figure_id='".$data['figure_id']."' LIMIT 0,1");
             if(dbrows($result2)){
               // ABFRAGE OB ES ÜBERHAUPT BILD IM ORDNER GIBT
               if (@file_exists(THUMBS_FIGURES.$data2['figure_images_thumb'])) {
               echo "<a href='".INFUSIONS."figurelib/figures.php?figure_id=".$data['figure_id']."' class=''>\n<img src='".($data2['figure_images_thumb'] ? THUMBS_FIGURES.$data2['figure_images_thumb'] : INFUSIONS.$inf_folder."/images/default.png")."' alt='".trimlink($data['figure_title'],100)."' title='".trimlink($data['figure_title'],50)."' style='border:0px;max-height:40px;max-width:40px' />";
               } else {
                  echo "<a href='".INFUSIONS."figurelib/figures.php?figure_id=".$data['figure_id']."' class=''>\n<img src='".INFUSIONS."figurelib/images/default.png"."' alt='".trimlink($data['figure_title'],50)."' title='".trimlink($data['figure_title'],100)."' style='border:0px;max-height:40px;max-width:40px' />";
               }
            }            
                  echo "<br /><br />\n";               
         
                   // Manufacturer
                  echo "<strong>".$locale['LFP_003'].": </strong> ".trimlink($data['figure_manufacturer_name'],18)."<br />\n";              
                  
                  // DATE ADDED
                  echo $locale['figure_414'].": ".showdate("shortdate", $data['figure_datestamp'])."<br />\n";
                                    
                  // RATING
                  $drating = dbarray(dbquery("SELECT SUM(rating_vote) sum_rating, COUNT(rating_item_id) count_votes FROM ".DB_RATINGS." WHERE rating_item_id='".$data['figure_id']."' AND rating_type='FI'"));
                  $num_votes = $drating['count_votes'];
                  $rating = ($num_votes > 0 ? str_repeat("<img src='".INFUSIONS.$inf_folder."/images/star.png'>",ceil($drating['sum_rating']/$num_votes)) : "-");
                  echo $locale['figure_418'].": ".$rating."<br />\n";
                  
                  // KOMMENTARE
                  $comments = dbcount("(comment_id)", DB_COMMENTS, "comment_type='FI' AND comment_item_id='".$data['figure_id']."'");
                  //echo $locale['figure_421'].": ".$data['figure_count']."<br />\n";
                  echo $locale['figure_420'].": ".$comments."<br />\n";
                  
                  // KLICKCOUNT = VIEWS
                  echo $locale['clickcount'].": ".$data['figure_clickcount']."</span><br />\n";
               

               echo "</td>\n";
               echo "</tr>\n</table>\n";
               echo ($counter % 2 == 0 ? "<br />" : "");
               $counter++;
            }
         }                                                
/////////////////////////////////////////////////////////////////////////////////////////////   
               } else {
/////////////////////////////////////////////////////////////////////////////////////////////      
            
            //echo "<b>TABELLENANSICHT</b>";   
            
            // MENÜZEILE GANZ OBEN IN DER ÜBERSICHT ALLER FIGUREN
            opentable($locale['INF_ADMIN'].": ".$info['figure_cat_name']);
            echo "<table cellpadding='0' cellspacing='1' class='tbl-border' style='text-align:left;width:100%; margin-bottom: 4px;'>";
            echo "<colgroup>";
            echo "<col width='10%'><col width='20%'><col width='20%'><col width='20%'><col width='10%'><col width='10%'><col width='10%'>";
            echo "</colgroup>";
            echo "<tr class='breadcrumb'>";
            echo "<td><strong>Image</strong></td>";                  //               Bild
            echo "<td><strong>".$locale['LFP_002']."</strong></td>";   // ['LFP_002']= "Name";
            echo "<td><strong>".$locale['LFP_003']."</strong></td>";   // ['LFP_003']= "Manufacturer";;
            echo "<td><strong>".$locale['LFP_004']."</strong></td>";   // ['LFP_004']= "Brand";
            echo "<td><strong>".$locale['LFP_005']."</strong></td>";   // ['LFP_005']= "Scale";
            echo "<td><strong>".$locale['LFP_006']."</strong></td>";   // ['LFP_006']= "Year";
            echo "<td><strong>".$locale['LFP_008']."</strong></td>";   // ['LFP_008']= "Rating";
            echo "</tr></table>";   
               
               
            echo "<table cellpadding='0' cellspacing='1' class='tbl-border' style='text-align:left;width:100%; margin-bottom: 4px;'>";
            echo "<colgroup>";
            echo "<col width='10%'><col width='20%'><col width='20%'><col width='20%'><col width='10%'><col width='10%'><col width='10%'>";
            echo "</colgroup>";
            echo "<tr class='tbl2'>";
            echo "<td class='side-small'>Image</td>";                                     // Bild
            echo "<td class='side-small'>".$data['figure_title']."&nbsp;".$new."</td>";            // Name
            echo "<td class='side-small'>".trimlink($data['figure_manufacturer_name'],18)."</td>";  // Manufacturer
            echo "<td class='side-small'>".trimlink($data['figure_brand_name'],18)."</td>";          // Brand
            echo "<td class='side-small'>".trimlink($data['figure_scale_name'],7)."</td>";          // Scale
            echo "<td class='side-small'>".trimlink($data['figure_year'],5)."</td>";               // Year
            // Bewertung
               $drating = dbarray(dbquery("SELECT SUM(rating_vote) sum_rating,   COUNT(rating_item_id) count_votes FROM ".DB_RATINGS."
               WHERE rating_type='FI' AND  rating_item_id='".$data['figure_id']."'   "));
               $rating = ($drating['count_votes'] > 0 ? str_repeat("<img src='".INFUSIONS.$inf_folder."/images/starsmall.png'>",ceil($drating['sum_rating']/$drating['count_votes'])) : "-");
            echo "<td><strong>".$rating."</strong></td>";                                  // Rating";
            echo "</tr></table>";
         }   


 
https://github.com/Catzenjaeger/FigureLib
Top



Springe ins Forum:

Ähnliche Themen

Thema Forum Antworten Letzter Beitrag
Zwei Fragen SicherheitslĂŒcken und Meldungen 1 30.01.2017 um 22:01
XMas Template - 1.0.0 Supportthreads fĂŒr die Downloads 8 16.10.2016 um 12:45
HTML 5 Forms Fragen & Antworten Allgemeine Fragen und Probleme 1 07.06.2016 um 10:53
grandon template Allgemeine Fragen und Probleme 4 14.01.2016 um 09:38
Function CountDown AnfÀngerfragen 7 20.10.2015 um 10:00