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 ::

Der CSS-Problemlöser

Der CSS-Problemlöser 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 > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.11.2003, 22:16:20
phpgesicht phpgesicht ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 7
Tabellendarstellungsproblem

Habe ein Problem!

Wie kann ich eine Tabelle mittels PHP, die aus einer DB mit einem SQL BEfehl ausgelesen wird so darstellen, dass z.B. eine test_id aus EINER Tabelle welche mit fortlaufender Nummer dargestellt wird

z.b. test_id 0 0 0 0 1 1 1 1 2 2 2 2
x y z a x y f g h j g r
so darstellen, dass die Zeile nach jeder Zahlenänderung eine Zeile nach unten springt, quasi so aussieht:

0 0 0 0
x y z a
1 1 1 1
x y f g
2 2 2 2
h j g r


?????????

Das problem ist, wie gesagt, das Ergebnis stammt aus einer Tabelle, also wird mittels einer SQL Anfrage (select * from * ORDER BY test_id)dargestellt.

Danke für jede Hilfe!
Mit Zitat antworten
  #2  
Alt 25.11.2003, 07:16:27
crusader crusader ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Zollhaus
Beiträge: 72
Morgen PHP Gesicht,

wie wäre es, wenn du deine SQL-Abfrage Menge wieder in einer HTML Tabelle darstellst?
Wenn du dazu noch Fragen hast, meld dich einfach.

Grüße Crusader
Mit Zitat antworten
  #3  
Alt 25.11.2003, 20:34:33
phpgesicht phpgesicht ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 7
Hi!

Was meinst du mit SQL Abfrage Menge?
Ich will ja schon alles ausgelesen bekommen, also alle test_id`s, aber die tabelle dann quasi nach jeder _id Änderung bzw. Erhöhung spalten und eine Zeile nach unten springen lassen.
P.S. Die _id ist in diesem Fall ein Primärschlüssel.

Irgendwie steh ich voll auf dem Schlauch.....
Mit Zitat antworten
  #4  
Alt 26.11.2003, 07:32:00
crusader crusader ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Zollhaus
Beiträge: 72
Morgen,

also, du macht folgende Abfrage (oder so ähnlich):

SELECT test_id FROM Tabelle

Diese Abfrage gibt eine Menge zurück (Alle Datensätze der Tabelle).
Jetzt kannst du mit mysql_fetch_row(HandleaufAbfrageergenis) z.B jeden einzelnen Datensatz auswerten.

Das verpackst du in eine while-Schleife und baust um die Felder deine Tabelle herum.

PHP-Code:
echo "<table>";
while(
$row mysql_fetch_row(Abfrageergebnis))
{
  echo 
"<tr><td>";
  echo 
$row[0];
  echo 
"</td></tr>";
}
echo 
"</table>"
Hiermit bekommst du jetzt eine Tabelle, in der sich deine test_id's untereinander befinden.
Mit Zitat antworten
  #5  
Alt 01.12.2003, 19:56:53
phpgesicht phpgesicht ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 7
Hi!

Hab es mal so probiert, komme aber immer nocht nicht zu einem Ergebnis, zeigt leider nur Fehlermeldungen an.

Kann es sein, dass ich etwas im Code übersehen hab....

<?

//Aufbau der Verbindung zur Datenbank

$host = "";
$user = "blabla";
$password = "";

$dblink = mysql_connect($host, $user, $password);

if (! $dblink) {
echo "Die Verbindung zu ", $host, " konnte nicht hergestellt werden.<br>";
exit;
}
echo "<table>";
while($row = mysql_fetch_row("select program_id from program_metadata"))
{
echo "<tr><td>";
echo $row[0];
echo "</td></tr>";
}
echo "</table>";
?>

Gruss
Mit Zitat antworten
  #6  
Alt 01.12.2003, 20:18:49
crusader crusader ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Zollhaus
Beiträge: 72
Ja,

bis zur Ecke

PHP-Code:
exit;

ist alles in Ordnung.
Danach müsstest du folgender Maßen weitermachen.

PHP-Code:
mysql_select_db(Datenbank,$dblink);
$hResult mysql_query("SELECT program_id FROM program_metadata",$dblink);

while ( 
$row mysql_fetch_array($hResult))
{
...

Am besten schaust du dir aber noch mal das Beispiel in SelfPHP an.


www.selfphp.info/funktionsreferenz/mysql_funktionen/mysql_query.php

Grüße Crusader
Mit Zitat antworten
  #7  
Alt 01.12.2003, 21:20:47
phpgesicht phpgesicht ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 7
Hallöle!

Fettes Danke!

Es funktioniert!

Er spuckt mir zwar die _id untereinander aus, aber
Ich wollte ja Zahlengruppen nebeneinander in einer Reihe haben..

z.B. so

0 0 0 0
x y z a
1 1 1 1
x y f g
2 2 2 2
h j g r

Ich bekomme das jetzt so angezeigt

0x
0y
0z
0a
1x
1y
1f
1g
2h
2j
2g
2r



Das war mein Problem die ganze Zeit...
Habe mich wahrscheins dumm ausgedrückt...

Ich ticks nicht, wie man das anstellen soll.

$row = mysql_fetch_array, kann es evtl. daran liegen???
Gibt es in PHP eine Funktion die Datensätze nach Bedingungen gruppiert??( Ich menie jetzt nicht den GROUP BY Ausdruck...)

ist es möglich das ganze mit ner for- Verzweigung zu machen:

a la

$result = mysql_query("select program_id, from program ORDER BY program_id");
$cols = mysql_num_fields($result);

for($i=0;$i < $cols ;$i++){
$result = mysql_query("select program_id, from program ORDER BY program_id");

echo "<td>".mysql_field_name($result, $i)."</td>";
while($row = mysql_fetch_array($result) ){

}
echo "</tr>n";

Ich bekomme die beiden Verzweigungen irgendwie nicht verbunden (for, while)



Geändert von phpgesicht (01.12.2003 um 21:35:09 Uhr)
Mit Zitat antworten
  #8  
Alt 02.12.2003, 07:32:54
crusader crusader ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Zollhaus
Beiträge: 72
Morgen phpgesicht,

wie sieht denn der Inhalt der Spalte program_id genau aus?
Nach der Ausgabe der Spalte würde ich sagen, die spalte program_id íst ein char Feld und hat die Inhalte:

0x
0y
0z
...

Aber nach deiner Beschreibung müssten folgende Werte drin stehen:

0000
xyza
1111
...

Wie sieht denn nun deine Tabelle bzw. das Feld aus?

Grüße Crusader
Mit Zitat antworten
  #9  
Alt 02.12.2003, 15:23:52
phpgesicht phpgesicht ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 7
Abend!

Die Spalte program_id ist ein int Feld. Hätte ich erwähnen sollen, sorry!

So schauts aus:

program_id: 0 2 2 3 3 4 5.......

name : x y z a b c d



Und so solls aussehen:


program_id: 0

name: x


program_id: 2 2

name: y z


program_id: 3

name: a usw..........


Habs nochmal mit DHTML probiert, aber funktioniert auch nicht...

P:S: Die Darstellung kommt beim posten immmer durcheinander!
Jede Ziffer(_id) hat einen zugehörigen Buchstaben(name) der unter dieser Ziffer in der tabelle steht.

Was ich die ganze versuche hinzubekommen, ist dass bei jeder Änderung der int program_id die program_id eine zeile in der Tabellenausgabe nach unten springt!

Geändert von phpgesicht (02.12.2003 um 15:28:56 Uhr)
Mit Zitat antworten
  #10  
Alt 02.12.2003, 15:58:54
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hallihallo,

ein Vorschlag, musst halt noch die entsprechenden Variablen anpassen:
PHP-Code:
//...
$res mysql_query($query);

$hilf "";
$i 0;
echo 
"<table border='1'>n";
while(
$row mysql_fetch_array($res))
{
    if(
$row['id'] != $hilf)
    {
        if(
$i 0)
        {
            echo 
"</tr>n";
        }
        echo 
"<tr>n";
    }
    echo 
"<td>";// Hier kannst Du an der Ausgabe basteln
    
echo $row['id']."<br>".$row['vari']; 
    echo 
"</td>n";
    
    
$hilf $row['id'];
    
$i++;
}
echo 
"</table>n"
Hab's nicht bis ins Letzte getestet, sollte aber schon funktionieren. Wenn Du Fragen haben solltest, melden...

Grüsse

Christian

Geändert von chris17 (02.12.2003 um 16:57:47 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 06:19:58 Uhr.


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


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