SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.09.2003, 15:54:26
Benutzerbild von Neo2003
Neo2003 Neo2003 ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: Lüneburg
Beiträge: 53
Daten aus der DB lesen

Hallo,

steh irgendwie auf dem Schlauch!
Also hab eine Datenbank mit den Feldern:

Kuenstler
Titel
Homepage
Dateiname
Zeit
Zeit1
Zeit2
Zeit3

Die Verbindung zur DB steht.
Aber kann keine Daten auslesen.

Versuche es im Moment so:
Code:
$result = mysql_query("SELECT * FROM $db_table WHERE id = '2'");
Nur was muss ich machen, wenn ich z.B. den Wert aus der Spalte Kuenstler ausgeben möchte?
Code:
echo $Kuenstler;
??

Danke

-Neo-

edit:
Wenn ich echo $result; mache gibt er mir Resource id #2
aus. Was sollte mir das sagen?
__________________
-Neo2003-



Never change a running system!
------------------------------
Das Forum für Freelancer

Geändert von Neo2003 (10.09.2003 um 15:57:07 Uhr)
Mit Zitat antworten
  #2  
Alt 10.09.2003, 16:28:23
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi,

das kannst Du z.B. so machen
PHP-Code:
$result mysql_query("SELECT * FROM $db_table WHERE id = '2'");
$Kuenstler mysql_result($result0"Kuenstler");
echo 
$Kuenstler;
//usw... 
oder so...
PHP-Code:
$result mysql_query("SELECT * FROM $db_table WHERE id = '2'");
while(
$row=mysql_fetch_array($result))
{
echo 
$row['Kuenstler']."<br>";
echo 
$row['Titel']."<br>";
//usw.

P.S.: Hat das mit den "verbleibenden Minuten" geklappt?
Mit Zitat antworten
  #3  
Alt 10.09.2003, 16:49:32
Benutzerbild von Neo2003
Neo2003 Neo2003 ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: Lüneburg
Beiträge: 53
Hi,

ja super hab nu funzt das auch.
Da smit den verbleibenden Minuten hat auch geklappt!

Dankeschön!!!!!

Aber hab gleich die nächste Frage.
In meiner DB hab ich das Feld Zeit.
Darin steht die Zeit im Format 1500 für 15 Uhr.
Die aktuelle Uhrzeit lasse ich per PHP ermitteln und möchte jetzt den Eintrag aus der DB haben der z.b. 1600 am nächsten ist.

Wie muss die Abfrage lauten?


-Neo-
__________________
-Neo2003-



Never change a running system!
------------------------------
Das Forum für Freelancer
Mit Zitat antworten
  #4  
Alt 10.09.2003, 17:23:50
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi,

probier das mal aus
PHP-Code:
$jetzt date("Hi");
mysql_query("SELECT * FROM $db_table WHERE Zeit > '".$jetzt."' ORDER BY Zeit ASC LIMIT 1"); 
Grüsse

chris17
Mit Zitat antworten
  #5  
Alt 10.09.2003, 17:30:52
Benutzerbild von Neo2003
Neo2003 Neo2003 ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: Lüneburg
Beiträge: 53
Hi,

das klappt schon super!
Aber wie mache ich es das er nicht nur Zeit sondern auch Zeit1, Zeit2 und Zeit3 vergleicht?
Und davon den am nächsten vorkommenden ausspuckt?

-Neo-
__________________
-Neo2003-



Never change a running system!
------------------------------
Das Forum für Freelancer
Mit Zitat antworten
  #6  
Alt 10.09.2003, 17:39:24
Benutzerbild von Neo2003
Neo2003 Neo2003 ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: Lüneburg
Beiträge: 53
Hier noch mal meine DB.

http://www.free-lancer.org/ff/db_aufbau.gif

So und wenn es jetzt 1645 ist soll er mir halt Band1 ausgeben weil bei Band1 Zeit2 am nächsten dran ist.

So eine Abfrage brauche ich.

Die Abfrage von eben macht das nur bei Zeit nicht bei allen.

Hoffe man kann den DB Aufbau erkennen;)

-Neo-
__________________
-Neo2003-



Never change a running system!
------------------------------
Das Forum für Freelancer

Geändert von Neo2003 (10.09.2003 um 18:12:15 Uhr)
Mit Zitat antworten
  #7  
Alt 10.09.2003, 18:55:42
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Funktionieren tut's...
PHP-Code:
$jetzt "1645";
$res mysql_query("SELECT * FROM kuenstler WHERE Zeit > '".$jetzt."' ORDER BY Zeit ASC LIMIT 1");
$zeit[] = @mysql_result($res0"Zeit");
$res mysql_query("SELECT * FROM kuenstler WHERE Zeit1 > '".$jetzt."' ORDER BY Zeit1 ASC LIMIT 1");
$zeit[] = @mysql_result($res0"Zeit1");  
$res mysql_query("SELECT * FROM kuenstler WHERE Zeit2 > '".$jetzt."' ORDER BY Zeit2 ASC LIMIT 1");
$zeit[] = @mysql_result($res0"Zeit2");
$res mysql_query("SELECT * FROM kuenstler WHERE Zeit3 > '".$jetzt."' ORDER BY Zeit3 ASC LIMIT 1");
$zeit[] = @mysql_result($res0"Zeit3");

print_r($zeit);//Testausgabe
for($i 0$i count($zeit); $i++)
{
    if(
$zeit[$i] == "")
    {
        unset(
$zeit[$i]);
    }
}
$zeit array_values($zeit);
echo 
min($zeit); 
Ob's elegant ist? :-)

Ob man das in einem Query erledigen kann?

Geändert von chris17 (10.09.2003 um 18:58:32 Uhr)
Mit Zitat antworten
  #8  
Alt 11.09.2003, 11:39:21
Benutzerbild von Neo2003
Neo2003 Neo2003 ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: Lüneburg
Beiträge: 53
Hi,

wenn ich das versuche bekomme ich immer

Array ( [0] => [1] => [2] => [3] => )

Ausgegeben.
Soll das so sein?
Wenn ja was muss ich damit machen um die einzelnen Werte des ensprechenden Eintrages auszugeben?

Wenn nein, was mache ich falsch?


-Neo-
__________________
-Neo2003-



Never change a running system!
------------------------------
Das Forum für Freelancer
Mit Zitat antworten
  #9  
Alt 11.09.2003, 12:04:15
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
dein aufbau der db ist schutte.
der bereich "zeit" ist immer "zeit" also gehört er in eine spalte.
eine weite möglichkeit wäre auch gleich das datum dazu zu speicher, damit nicht falsche datensätze ausgelesen werden.
also hier mein vorschlag
Code:
tabelle1:

id | kid | titel | timestamp
1  | 1   | test1 | 1064062800
2  | 2   | test2 | 1064064600

tabelle2:
kid | name
1   | Max Müller
2   | Max Schuster

abfrage:
select t2.name,t1.titel,from_unixtimestamp('%d.%m.%Y %H:%i',t1.timestamp) time from
tabelle1 t1 inner join tabelle2 t2 using(kid) where t1.timestamp > unix_timestamp(now()) limit 1;
Mit Zitat antworten
  #10  
Alt 11.09.2003, 12:09:11
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi,

Du machst nix falsch.
Wenn das dabei rauskommt, -> Array ( [0] => [1] => [2] => [3] => ), dann gibt's kein gültiges Ergebnis.
-> Obacht, ich habe vor die Querys das @-Zeichen geschrieben!

In Deinem Bsp. würde das eintreten, wenn es 19:00 Uhr wäre. Dann spielt ja, laut Zeitplan, keine Band mehr. Dann bietet sich an den frühesten Termin vom nächsten Tag auszugeben.


Array ( [0] => [1] => [2] => [3] => )
-> das Array sieht in "echt" so aus: $zeit = array("","","","");
Hat also 4 Indizes, das sind die Ergebnisse der 4 Querys.

print_r ist saupraktisch um Array zu Testzwecken ausgeben zu lassen.

Grüsse

chris17

edit:
@MiH, immer wieder eine Freude Deine Querys zu sehen :-)

Geändert von chris17 (11.09.2003 um 12:19:27 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:54:46 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt