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 |
08.12.2003, 10:50:12
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
Anzahl gefüllter Tabellenfelder ermitteln
Hallo zusammen,
eine Tabelle mit folgendem Aufbau:
Code:
Feld Wert
------------------
id 1
start 2004-12-12
tag1 bla bla
tag2 bla bla
tag3 bla bla
tag4 bla bla
tag5
tag6
tag7
Als Ergebnis hätte ich gerne: "4" -> Die Anzahl der Tage in denen ein Wert eingetragen ist.
An der Struktur der Tabelle kann ich nix ändern.
Wie muss der Query ausehen, der mir direkt die "4" zurückgibt?
Vielen Dank schonmal
Christian
|
08.12.2003, 15:31:51
|
Junior Member
|
|
Registriert seit: May 2002
Beiträge: 179
|
|
Das kannst du mit folgendem Query rausfinden:
Code:
SELECT COUNT(*) FROM tabelle WHERE feld LIKE 'tag%' AND wert!='';
|
08.12.2003, 16:20:20
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
Sorry overclocker,
meine "Tabellendarstellung" ist missverständlich.
"Feld": tag1, tag2 usw. sind die Namen der Tabellenspalten (Quasi die Tabellenstruktur).
Und "Wert" sind eben die Inhalte der Tabellenfelder.
Die Tabelle zeigt also einen Datensatz mit der id=1.
Ich glaub nicht, dass ich da mit COUNT weiterkomme.
Dankeschön für Deine Antwort.
|
08.12.2003, 19:35:02
|
Junior Member
|
|
Registriert seit: May 2002
Beiträge: 179
|
|
aha… ich dachte Du wolltest zählen an welchen Tagen etwas eingetragen wurde.
Es ist mir immernoch nicht so klar.
Kannst Du vielleicht ein Beispiel geben, was konkret rauskommen soll.
Willst Du sowas haben wie:
3 = bla bla
4 = bla bla
5 =
6 =
na dann…
|
08.12.2003, 19:41:55
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Er will wissen, dass in den 7 Feldern 4 einen Wert haben.
Ich glaube nicht, dass das mit einer Abfrage geht. Wie man es mit 7 Abfragen schafft wüsste ich.... ;)
|
09.12.2003, 11:05:44
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
Zitat:
overclocker:
aha… ich dachte Du wolltest zählen an welchen Tagen etwas eingetragen wurde.
c4:
Er will wissen, dass in den 7 Feldern 4 einen Wert haben.
|
Genau, als Ergebnis hätte ich gerne: 4 -> Die Anzahl der Tage in denen ein Wert eingetragen ist.(Innerhalb eines Datensatzes)
So in etwa mach ich es bisher:
PHP-Code:
<?php
$sql = "SELECT tag1,tag2,tag3,tag4,tag5,tag6,tag7 ";
$sql.= " FROM tbl_tabelle WHERE id=1";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$anz = 0;
for($i = 0; $i < count($row); $i++)
{
if(!empty($row[$i]))
{
$anz++;
}
}
echo "An ".$anz." Tagen wurde etwas eingetragen.";// $anz = 4
?>
Wäre halt klasse, wenn man das mit SQL erledigen könnte.
|
09.12.2003, 12:26:21
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 43
Beiträge: 992
|
|
Hi @ll
Ich habe eine Lösung gefunden, aber schön ist die ned
Code:
SELECT
(
IF (tag1 != "", 1, 0) +
IF (tag2 != "", 1, 0) +
IF (tag3 != "", 1, 0) +
IF (tag4 != "", 1, 0) +
IF (tag5 != "", 1, 0) +
IF (tag6 != "", 1, 0) +
IF (tag7 != "", 1, 0)
) As filled
FROM tbl_tabelle WHERE id=1
Ich glaube das SQL braucht man ned erklären.
|
09.12.2003, 14:05:08
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
Danke Nev!!! *hüpf*
|
09.12.2003, 14:21:30
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 43
Beiträge: 992
|
|
NP
Wenn dir die Lösung gefällt, ist gut.
Aber hübsch is ned
|
09.12.2003, 18:22:49
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Nev, erkläre mal bitte. Oder einen Link dafür.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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 15:24:44 Uhr.
|