CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
29.11.2004, 11:12:13
|
Anfänger
|
|
Registriert seit: Nov 2004
Beiträge: 8
|
|
Gruppieren von Daten/ Denkanstoss...
Ich bin nicht der php-Überflieger und brüte schon das ganze Wochenende über folgendem Problem und brauche dringend einen Denkanstoß!
Ich habe eine Tabelle aus der ich folgendes auslesen kann:
geburtsdatum, status (normalerweise=1), geschlecht, name, vorname
Ich möchte diese Daten in folgendes Schema in einer HTML-Tabelle ausgeben
Alle Frauen 0-13 Jahre ---- Alle Frauen 14-16 Jahre ---- Alle Frauen älter als 16 Jahre
Alle Männer 0-13 Jahre ---- Alle Männer 14-16 Jahre ---- Alle Männer älter als 16 Jahre
Alle die Status=2 haben
Alle die Status=3 haben
Kann mir bitte jemand sagen wie ich das am besten anstelle? Mit Nachdenken konnte ich das leider nicht befriedigend lösen... Dankeee!
|
29.11.2004, 12:32:09
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Vorschlag für die ersten beiden Tabellen:
PHP-Code:
$range=array(13, 16);
$i=0;
$result=mysql_query('SELECT *
FROM tab
WHERE geschlecht="w"
ORDER BY alter ASC');
if (mysql_num_rows($result)>0) {
echo "<h3>Frauen 0 - $range[$i]</h3>n";
while ($data=mysql_fetch_assoc($result)) {
if ($data['alter']>$range[$i]) {
if (isset($range[$i+1])) {
echo "<h3>Frauen $range[$i] - ".$range[$i+1]."</h3>n";
}
else {
echo "<h3>Frauen $range[$i] - *</h3>n";
}
}
echo $data['name']."<br>n";
}
}
else {
echo 'Nix Persona!';
}
Die letzten beiden Tabellen sollten klar sein, oder?
|
29.11.2004, 19:58:55
|
Anfänger
|
|
Registriert seit: Nov 2004
Beiträge: 8
|
|
Ooh, mmmhhh, jaaa!! DANKE!!!
Ich werd's gleich mal checken und geb dann wieder laut!
|
01.12.2004, 23:21:42
|
Anfänger
|
|
Registriert seit: Nov 2004
Beiträge: 8
|
|
Hmmm...
Ich hab's mal auf meine Seite angepasst, gibt man deinen Code ein, kommt man zu folgendem Ergebnis (ich glaube aber, wir :-) sind nicht weit weg von der Lösung...):
Link-Testseite
PHP-Code:
<?php
//testcode
require("settings.php");
$range=array(13, 16);
$i=0;
$result=mysql_query('SELECT name, birthdate, CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5)) AS age FROM baseGYM ORDER BY age') or die('Fehler in Abfrage');
if (mysql_num_rows($result)>0) {
echo "<h3>women 0 - $range[$i]</h3>n";
while ($data=mysql_fetch_assoc($result)) {
if ($data['age']>$range[$i]) {
if (isset($range[$i+1])) {
echo "<h3>women $range[$i] - ".$range[$i+1]."</h3>n";
}
else {
echo "<h3>women $range[$i] - *</h3>n";
}
}
echo $data['name']."<br>n";
}
}
else {
echo 'no women no cry!';
}
?>
Geändert von nbb (01.12.2004 um 23:25:44 Uhr)
|
02.12.2004, 09:23:13
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
So könnte es klappen:
PHP-Code:
<?php
//testcode
require("settings.php");
$range=array(13, 16);
$i=0;
$result=mysql_query('SELECT name, birthdate, CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5)) AS age FROM baseGYM ORDER BY age') or die('Fehler in Abfrage');
if (mysql_num_rows($result)>0) {
echo "<h3>women 0 - $range[$i]</h3>n";
while ($data=mysql_fetch_assoc($result)) {
if ($data['age']>$range[$i]) {
if (isset($range[$i+1])) {
echo "<h3>women $range[$i] - ".$range[$i+1]."</h3>n";
}
else {
echo "<h3>women $range[$i] - *</h3>n";
}
$i++; // $i war bisher immer 0...
}
echo $data['name']."<br>n";
}
}
else {
echo 'no women no cry!';
}
?>
|
02.12.2004, 09:46:39
|
Anfänger
|
|
Registriert seit: Nov 2004
Beiträge: 8
|
|
Hi,hi.., fast :D
Guck mal
(ich hab auch dranrum gebastelt, aber irgendwie bin ich auch nicht weiter gekommen...)
Was mir ursprünglich mal vorschwebte, war...
dieses Ausgabeschema...
(und übrigens ganz arg danke nebenbei, dass Du Dich mit meinem Problem beschäftigst, gell!)
Geändert von nbb (02.12.2004 um 09:50:57 Uhr)
|
03.12.2004, 10:48:09
|
Anfänger
|
|
Registriert seit: Nov 2004
Beiträge: 8
|
|
Warum haut mir das Skript bei jedem der Älter ist als 15 ne überschrift drüber? Hmmm... I got lost *sigh* kleine Mädels sollten doch besser Barbypuppen spielen und nicht php probieren :(
|
03.12.2004, 10:55:06
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Ups, dachte, ich hatte schon geantwortet...
Stell mir mal bitte ein paar Beispieldatensätze zur Verfügung. Lässt sich besser probieren.
|
03.12.2004, 12:31:19
|
Anfänger
|
|
Registriert seit: Nov 2004
Beiträge: 8
|
|
Das mit den Datensätzen mach ich gleich...
Also ich hab grad was zusammengebaut, was prinzipiell funktioniert. Aber das kommt mit irgendwie vor wie mit der Brechaxt durch die Hintertür...
PHP-Code:
//Pre-Juniors
$result=mysql_query('SELECT name, birthdate, CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5)) AS age FROM baseGYM where (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5))>14 and status=1 ORDER BY age') or die('Fehler in Abfrage 1');
if (mysql_num_rows($result)>0)
{
while(list($name, $birthdate) = mysql_fetch_row($result))
{
$pre_juniors1.="$name<br>";
}
}
else
{
echo 'no women no cry!';
}
echo "<hr>";
//Juniors
$result=mysql_query('SELECT name, birthdate, CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5)) AS age FROM baseGYM where (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5))>13 and (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5))<16 and status=1 ORDER BY age') or die('Fehler in Abfrage');
if (mysql_num_rows($result)>0)
{
while(list($name, $birthdate) = mysql_fetch_row($result))
{
$juniors1.="$name<br>";
}
}
else
{
echo 'no women no cry!';
}
//Seniors
$result=mysql_query('SELECT name, birthdate, CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5)) AS age FROM baseGYM where (YEAR(CURRENT_DATE)-YEAR(birthdate)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5))>15 and status=1 ORDER BY age') or die('Fehler in Abfrage 1');
if (mysql_num_rows($result)>0)
{
while(list($name, $birthdate) = mysql_fetch_row($result))
{
$seniors1.="$name<br>";
}
}
else
{
echo 'no women no cry!';
}
|
03.12.2004, 12:34:41
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Recht hast Du: das ist Pfui. ;)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:29:09 Uhr.
|