php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.10.2004, 20:42  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von andyM
aber leider wird nun pro wochentag immer nur 1 kurs ausgegeben, auch wenn es mehrere gibt.
Stimmt, weil das GOUP BY Mist ist. ORDER BY ist richtig.
Code:
SELECT 
  k_id, 
  k_name, 
  k_zeit, 
  DAYOFWEEK( k_beginn ) AS wochentag
FROM 
  kurse
WHERE 
  k_beginn >= NOW( ) 
ORDER BY 
  wochentag
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.10.2004, 21:00  
Gast
 
Beiträge: n/a
Standard

kann ich nun nicht inerhalb der while schleife eine forschleife machen, die alle wochen tag als array hat und diese mit der $wochentag vergleichen?
 
Alt 23.10.2004, 21:05  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von andyM
kann ich nun nicht inerhalb der while schleife eine forschleife machen, die alle wochen tag als array hat und diese mit der $wochentag vergleichen?
Warum paßt Du nicht diesen Schnipsel inhaltlich an?

Beachte, daß Wochentag von 0 wie Sonntag bis 6 wie Samstag geht und auch bei der Abfrage so sortiert wird.
PHP-Code:
<?php

##########################################
# SQL Abfrage: beginn und ende mit DATE_FORMAT(datum,'%e.%c.%Y') ausgeben! 
# $res = mysql_query($sql) OR die (mysql_error()); 
# $wochentag = array (0 => 'Sonntag, usw. ); 

if (mysql_num_rows($res) > 0# es gab keinen Fehler und es gibt was zum Ausgeben 

# definiere vor der Ausgabeschleife eine leere Kontrollvariable 
   
$flag ''

# Beginne die HTML Tabelle: 
   
echo '<table>'

   while (
$row mysql_fetch_assoc($res)) 
   { 
# Wochentag 'übersetzen' 
      
$row['wochentag'] = $wochentag[$row['wochentag']]; 

# testen, ob neuer Kopf ausgegeben werden muß: 
      
if (empty($flag) OR $flag != [$row['wochentag']) 
     { 
         
printf ('<tr><td>%s</td></tr>'$row['wochentag']); 
# merken 
         
$flag $row['wochentag']; 
      } 
      
printf ('<tr><td>[url="%s?kurs_id=%s"]%s[/url]</td></tr>' 
                  'anzeigen.php'

                  
$row['kurs_id'], 
                  
sprintf ('%s vom %s bis %s'$row['title'], $row['beginn'], $row['ende'])); 
   } 
   echo 
'</table>'

else 

    echo 
'<h4>Keine(n) Kurs(e) gefunden.</h4>'

# usw.
 
Alt 23.10.2004, 21:28  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php 
      
//Variablen setzen und globalisieren 
        
$date=date("Y-m-d",time()-date(2*24*60*60)); 
    
//Mit der Datenbank verbinden
    
include('inc/database.inc.php');
    
$tmprslt '';
    
$connection mysql_connect($db['host'],$db['uid'],$db['pwd']);
    if(
$connection)
    {
        
mysql_select_db($db['db']); 
        
$sql ="SELECT   
                    k_id, k_name, k_zeit, DAYOFWEEK(k_beginn) AS wochentag 
                FROM 
                    kurse 
                WHERE 
                    k_beginn > '"
.$date."' 
                ORDER BY 
                    wochentag"

     
        
//Auslesen der Datensätze 
        
$wochentag = array(=> 'Sonntag'
                               
=> 'Montag'
                               
=> 'Dienstag'
                               
=> 'Mittwoch'
                               
=> 'Donnerstag'
                               
=> 'Freitag'
                               
=> 'Samstag'); 
 

if (
mysql_num_rows($res) > 0# es gab keinen Fehler und es gibt was zum Ausgeben 

# definiere vor der Ausgabeschleife eine leere Kontrollvariable 
   
$flag ''

# Beginne die HTML Tabelle: 
   
echo '<table>'

   while (
$row mysql_fetch_assoc($res)) 
   { 
# Wochentag 'übersetzen' 
      
$row['wochentag'] = $wochentag[$row['wochentag']]; 

# testen, ob neuer Kopf ausgegeben werden muß: 
      
if (empty($flag) OR $flag != $row['wochentag']) 
     { 
         
printf ('<tr><td>%s</td></tr>'$row['wochentag']); 
# merken 
         
$flag $row['wochentag']; 
      } 
      
printf ('<tr><td>[url="%s?kurs_id=%s"]%s[/url]</td></tr>',
                  
'anzeigen.php'
                  
$row['kurs_id'], 
                  
sprintf ('%s vom %s bis %s'$row['k_name'], $row['k_beginn'], $row['k_ende'])); 
   } 
   echo 
'</table>'

else 

    echo 
'<h4>Keine(n) Kurs(e) gefunden.</h4>'
}
}
?>
habs mal versucht...
  • Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web611/html/test4.php on line 30

    Keine(n) Kurs(e) gefunden.
 
Alt 23.10.2004, 21:31  
Gast
 
Beiträge: n/a
Standard

naja, ev. sollte ich mich mal durch 1001 bücher mit dem thema php kämpfen

 
Alt 23.10.2004, 22:17  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von andyM
PHP-Code:
<?php 
      
//Variablen setzen und globalisieren 
        
$date=date("Y-m-d",time()-date(2*24*60*60));
Sowas ist Unfug!

DATE_SUB(NOW(), INTERVAL 2 DAY) # Heute Minus 2 Tage
DATE_ADD(NOW(), INTERVAL 2 DAY) # Heute Plus 2 Tage

Zitat:
habs mal versucht...
  • Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web611/html/test4.php on line 30

    Keine(n) Kurs(e) gefunden.
In Deiner SQL Abfrage ist noch ein Fehler drin. Wahrscheinlich Deine ulkige Datumsberechnung.

Printe den geparsten String aus, guck ihn Dir an u/o kopier den in das SQL Fenster des PMA rein.
 
Alt 24.10.2004, 17:28  
Gast
 
Beiträge: n/a
Standard

An Meikel:

Hallo Meikel,

Ich wollte mich nochmals kurz bei dir bedanken, dass dir so viel mühe mit meinem script gemacht hast. Deinen letzten Vorschlag, konnte ich nicht realisieren, fehlt mir einfach noch an erfhrung.

ich habs so gelöst:

if abfrage nach der formel $kurstag ist der kurstag != derselbe wie derjenige des vorhergehenden datensatz's, wird der kurstag ausgegeben.

naja, es funct auf jeden fall. das ist wohl das wichtigste für mich, aber ich hab wieder einiges gelernt.

das ergebnis siest du hier:
http://www.salsamor.ch/?cmd=kurs
 
 


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
Bin am Verzweifeln - txt-Datei Problem kanti PHP Tipps 2006 4 28.02.2006 15:16
Formular-Problem, bin am verzweifeln !! PHP-Fortgeschrittene 4 12.10.2005 07:56
Anfängerin am verzweifeln PHP Tipps 2005 9 17.04.2005 07:12
Was ist falsch?? Bin am Verzweifeln!! BEGINNER-L PHP Tipps 2005 10 27.02.2005 18:04
[Erledigt] Bin am Verzweifeln............... HTML, Usability und Barrierefreiheit 17 12.02.2005 19:19
Kurz vorm verzweifeln :( Beatbox Datenbanken 2 15.09.2004 21:11
Shell_exec: bin kurz vorm verzweifeln PHP Tipps 2004 1 27.08.2004 15:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:25 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.