php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.11.2008, 14:02  
Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 80
aniga_de kann nur auf Besserung hoffen
Standard Felder eines Datensatzes separieren

Hallo,

ich hab wieder mal ein Problem, ein Logikproblem genauer gesagt.

Sachlage:

Also ich habe 2 Tabellen. Diese lese ich per Union Select gemeinsam aus. Beide Tabellen haben 4 Felder.

Das sind String Felder, in denen ein Datum steht. Also pro Tabelle 4 identische Felder.
Die Felder beschreiben Releasedaten von einem Film.

Also Tabelle1: Serienstart Deutschland, Serienstart Japan, Serienstart England, Serienstart Andere.

Bei Tabelle 2 ist das benfalls so.

Ziel ist eine Releaseseite, auf der alle Datensätze dieser Tabellen sortiert nach dem Erscheinungsdatum angeziegt werden sollen.

Was ich erreichen möchte ist, dass die 4 bzw. 8 Daten dieser Tabellen seperat angeziegt werden, sprich möchte ich einen Datensatz pro Tabelle 4 mal angezeigt haben, nämlich für jedes Datum derselbe Datensatz nochmal, weil ich eben auch die unterscheidung zwischen den Ländern haben will.

Doch momentan bekomme ich das nicht hin, da ich den Datensatz nur einmal in der Whileschleife ausgeben lassen kann, auch klappt die Sortierung mit den verschiedenen Ländern nicht.

Ich hoffe ich habe mich verständlich ausgedrückt.

mit freundlichen Grüßen
aniga_de ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.11.2008, 14:14  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Wieso hast du zwei Tabellen?

Was du vorhast funktioniert mit SQL nicht, dazu muss deine Ausgabeschleife einfach angepasst werden.
cycap ist offline   Mit Zitat antworten
Alt 03.11.2008, 15:06  
Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 80
aniga_de kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
Wieso hast du zwei Tabellen?

Was du vorhast funktioniert mit SQL nicht, dazu muss deine Ausgabeschleife einfach angepasst werden.
Hallo.

Es sind 2 tabellen, weil die erste Tabelle für Filme sind und die 2 Tabelle für die einzelnen Episoden.

Ich habe mir auch gedacht,dass ich was an der Schleife machen muss. Hättest du mir vielleicht ein paar Tipps oder Anätze?

Danke
aniga_de ist offline   Mit Zitat antworten
Alt 03.11.2008, 15:58  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Na du musst dir halt überlegen an welcher Stelle du den Zeilenumbruch machst und ob du evtl. Sachen mehrmals ausgeben muss.
cycap ist offline   Mit Zitat antworten
Alt 03.11.2008, 16:51  
Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 80
aniga_de kann nur auf Besserung hoffen
Standard

Hy,

ich möchte keinen zeilenumbruch ... Die Frage ist eben, wie ich einen Datensatz mehrfach eben imemr mit nem anderen Anzeigefeld ausgeben kann.

Ich suche schon ewig danach aber finde einfach nichts. Also ist sowas möglich?

Wie?
aniga_de ist offline   Mit Zitat antworten
Alt 04.11.2008, 20:04  
Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 80
aniga_de kann nur auf Besserung hoffen
Standard

Hilfe
aniga_de ist offline   Mit Zitat antworten
Alt 04.11.2008, 20:08  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.846
HPR1974 wird schon bald berühmt werden
Standard

hilfe rufen bringt nichts, deine beschreibung bietet keinerlei basis für eine qualifizierte antwort, wo ist dein code wie siehts aus , wie soll es aussehen, etc.
HPR1974 ist offline   Mit Zitat antworten
Alt 05.11.2008, 00:34  
Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 80
aniga_de kann nur auf Besserung hoffen
Standard

Ich denke nicht, dass der Code brauchbar ist.

Aber ich poste ihn mal:

PHP-Code:
<table class="tab" width="476" cellspacing="0" cellpadding="0">
                        <?php
                            $tab_sel9 
'SELECT ID, TYP, DTTITEL, JPTITEL, ENTITEL, ORTITEL, DATUM, ART, START_D, START_J, START_E, START_O, EPISODENNUMMER, IDANIME FROM anime UNION SELECT ID, TYP, DTTITEL, JPTITEL, ENTITEL, ORTITEL, DATUM, ART, START_D, START_J, START_E, START_O, EPISODENNUMMER, IDANIME FROM animeepisoden ORDER BY STR_TO_DATE(START_D, "%d.%m.%Y") ASC, STR_TO_DATE(START_J, "%d.%m.%Y") ASC, STR_TO_DATE(START_E, "%d.%m.%Y") ASC, STR_TO_DATE(START_O, "%d.%m.%Y") ASC';  

                            
$tab_res9 mysql_query($tab_sel9);

                            while(
$tab_row9 mysql_fetch_object($tab_res9))
                            {
                                
$ID            $tab_row9->ID;
                                
$DT            $tab_row9->DTTITEL;
                                
$JP            $tab_row9->JPTITEL;
                                
$EN            $tab_row9->ENTITEL;
                                
$OR            $tab_row9->ORTITEL;
                                
$DATUM        $tab_row9->DATUM;
                                
$STARTDE    $tab_row9->START_D;
                                
$STARTJP    $tab_row9->START_J;
                                
$STARTEN    $tab_row9->START_E;
                                
$STARTOR    $tab_row9->START_O;
                                
$ART        $tab_row9->ART;
                                
$EPINUMMER  $tab_row9->EPISODENNUMMER;    
                                
$IDANIME    $tab_row9->IDANIME;
                                
$TYP        $tab_row9->TYP;
                                
                                
$STARTDstrtotime($STARTDE);
                                
$STARTJstrtotime($STARTJP);
                                
$STARTEstrtotime($STARTEN);
                                
$STARTOstrtotime($STARTOR);
                                
                                
                                
$test date("d.m.Y",strtotime('now'));
                                
                                
$testd date("d.m.Y",$STARTD);
                                
$testj date("d.m.Y",$STARTJ);
                                
$teste date("d.m.Y",$STARTE);
                                
$testo date("d.m.Y",$STARTO);
                                
                                
$minimin($testd$testj$teste$testo);
                                
                                
$date explode("."$mini);
                                
                                echo 
$mini.'<br />'.$ID;;
                                

                            if (
$test $mini || $test == $mini)    
                            {
                                
                                if (
$date[1] == 1
                                {
                                    
$DATTEXT"Januar";
                                }
                                if (
$date[1] == 2
                                {
                                    
$DATTEXT"Februar";
                                }
                                if (
$date[1] == 3
                                {
                                    
$DATTEXT"M&auml;rz";
                                }
                                if (
$date[1] == 4
                                {
                                    
$DATTEXT"April";
                                }
                                if (
$date[1] == 5
                                {
                                    
$DATTEXT"Mai";
                                }
                                if (
$date[1] == 6
                                {
                                    
$DATTEXT"Juni";
                                }
                                if (
$date[1] == 7
                                {
                                    
$DATTEXT"Juli";
                                }
                                if (
$date[1] == 8
                                {
                                    
$DATTEXT"August";
                                }
                                if (
$date[1] == 9
                                {
                                    
$DATTEXT"September";
                                }
                                if (
$date[1] == 10
                                {
                                    
$DATTEXT"Oktober";
                                }
                                if (
$date[1] == 11
                                {
                                    
$DATTEXT"November";
                                }
                                if (
$date[1] == 12
                                {
                                    
$DATTEXT"Dezember";
                                }
                                if (
$date != $datealt)
                                {
                                    echo 
'<tr>';
                                    echo    
'<td class="monat1">'.$DATTEXT.'&nbsp;'.$date[2].'</td>';
                                    echo     
'<td class="monat2">&nbsp;</td>';
                                    echo     
'<td class="monat3">&nbsp;</td>';
                                    echo    
'<td class="monat4">&nbsp;</td>';
                                    echo 
'</tr>';
                                }    
                                    
                                if (
$ART == "Anime")
                                {
                                    echo 
'<tr>';
                                    if (!
$DT)
                                    {
                                        if (!
$JP)
                                        {
                                            if (!
$EN)
                                            {
                                                echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$ID.'">'.$OR.'</a><span class="animetyp"> ('.$TYP.')</span></td>';    
                                            }
                                            else
                                            {
                                                echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$ID.'">'.$EN.'</a><span class="animetyp"> ('.$TYP.')</span></td>';
                                            }
                                        }
                                        else
                                        {
                                            echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$ID.'">'.$JP.'</a><span class="animetyp"> ('.$TYP.')</span></td>';
                                        }
                                    }
                                    else
                                    {
                                        echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$ID.'">'.$DT.'</a><span class="animetyp"> ('.$TYP.')</span></td>';
                                    }    
                                    echo    
'<td class="episodennummer">---</td>';
                                    echo    
'<td class="titel"><center style="font-style:italic">Keiner, Da Film</center></td>';
                                    echo    
'<td class="erscheinung">'.$mini.'</td>';
                                    echo 
'</tr>';
                                }
                                else
                                {
                                    
$tab_sel 'SELECT ID, DTTITEL, JPTITEL, TYP, ENTITEL, ORTITEL FROM anime WHERE ID ="'.$IDANIME.'"';
                                    
$tab_res mysql_query($tab_sel);
        
                                    
$tab_row mysql_fetch_object($tab_res);
                                    
                                    
$IDA            $tab_row->ID;
                                    
$DTA            $tab_row->DTTITEL;
                                    
$JPA            $tab_row->JPTITEL;
                                    
$ENA            $tab_row->ENTITEL;
                                    
$ORA            $tab_row->ORTITEL;
                                    
$TYA            $tab_row->TYP;
                                                                                                                                                                                    
                                    echo 
'<tr>';
                                    if (!
$DTA)
                                    {
                                        if (!
$JPA)
                                        {
                                            if (!
$ENA)
                                            {
                                                echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$IDA.'">'.$ORA.'</a><span class="animetyp"> ('.$TYA.')</span></td>';    
                                            }
                                            else
                                            {
                                                echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$IDA.'">'.$ENA.'</a><span class="animetyp"> ('.$TYA.')</span></td>';
                                            }
                                        }
                                        else
                                        {
                                            echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$IDA.'">'.$JPA.'</a><span class="animetyp"> ('.$TYA.')</span></td>';
                                        }
                                    }
                                    else
                                    {
                                        echo    
'<td class="anime"><img class="flagge" src="inc/img/de.png" alt="DE" /><a href="animeansicht.php?ID='.$IDA.'">'.$DTA.'</a><span class="animetyp"> ('.$TYA.')</span></td>';
                                    }    
                                    echo    
'<td class="episodennummer">'.$EPINUMMER.'</td>';
                                    echo    
'<td class="titel"><a href="episodenansicht.php?ID='.$ID.'">'.$DT.'</a></td>';
                                    echo    
'<td class="erscheinung">'.$mini.'</td>';
                                    echo 
'</tr>';
                                }    
                            
                            }
                                
$datealt $date;
                            }    
                            
?>
Vielleich hilft das ja.

Ich versuche mit min() das kleinste Datum eines Datensatzes aus den 4 Daten herauszufinden und nur dieses auszugeben.

Wenn dann das Datum abgelaufen ist, wird dann da snächst niedrigere angezeigt.

Naja er macht gerade nicht wirklich wa sich will, ich vermute timestamp Probleme.

mfg
aniga_de ist offline   Mit Zitat antworten
Alt 05.11.2008, 01:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Die Datenbankstruktur ist einfach schlecht. Solche Beziehungen bildet man nicht über Spalten, sondern über eine eigene Tabelle ab.

Code:
Tabelle1: 
ID | Titel | weiss | der | Kuckuck

Serienstarts:
SerienID references Tabelle1.ID | Land | Datum
Versteh gar nicht, warum Dich hier niemand darauf hinweist...
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.11.2008, 11:10  
Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 80
aniga_de kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Die Datenbankstruktur ist einfach schlecht. Solche Beziehungen bildet man nicht über Spalten, sondern über eine eigene Tabelle ab.

Code:
Tabelle1: 
ID | Titel | weiss | der | Kuckuck

Serienstarts:
SerienID references Tabelle1.ID | Land | Datum
Versteh gar nicht, warum Dich hier niemand darauf hinweist...
Hy,

eine eigene Tabelle nur für die Releases?

Weil eine einzige Tabelle für diese zwei wird nicht möglich, bzw. sinnvoll sein, da beide über einen Fremdschlüssel verbunden sind.

Naja vielleicht hat ja jemand ne Idee.

mfg
aniga_de ist offline   Mit Zitat antworten
Antwort


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
Gästebuch-Tabelle - Felder auf Inhalt prüfen ProgStarter PHP Tipps 2008 13 09.10.2008 20:07
Schwierige (?) Sortierung über 2 Felder Anotherone Datenbanken 8 31.12.2006 02:48
mysql mehrere felder aus 2 tabellen bei vorhandensein eines cytrobic Datenbanken 9 30.06.2006 13:27
suche tutorial: FORMULAR FELDER AUF INHALT PRÜFEN PHP Tipps 2006 7 25.01.2006 19:14
[Erledigt] Große Felder wie TEXT auslagern? Datenbanken 9 26.10.2005 20:22
Formularauswertung: Leere Felder anzeigen maeck PHP Tipps 2005-2 1 18.09.2005 21:42
ID des letzten Datensatzes anzeigen PHP Tipps 2005-2 2 13.09.2005 09:37
Suche MySQL Funktion zum Verbinden 2er Felder R4v3r Datenbanken 2 12.07.2005 23:49
2 Select Felder identifizieren HTML, Usability und Barrierefreiheit 4 29.06.2005 16:18
Zugriff auf Felder bei Inner Join Datenbanken 2 27.04.2005 14:40
Dynamisch Formular Felder erstellen Simon9990 PHP Tipps 2005 2 29.01.2005 22:00
Felder löschen!? PHP Tipps 2005 2 05.01.2005 14:36
Nach Formularcheck sind die Felder leer PHP Tipps 2007 6 04.01.2005 21:42
leere felder entfernen PHP Tipps 2007 14 04.01.2005 10:59
felder gegebenen falls überprüfen und sonst mail schicken. lindner PHP Tipps 2004-2 1 14.11.2004 15:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql separierer, php funktionen, php tabulator separiert

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 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