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

Webseiten professionell erstellen

Webseiten professionell erstellen 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)
Hilfe Community Kalender Heutige Beiträge Suchen

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 08.02.2007, 17:34:29
CharlesT CharlesT ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 17
Lücken beim Lesen einer Tabelle füllen

Ich habe das Problem, dass meine Listennummern (!=IDs!) nicht fortlaufend sind. Um heraus zu bekommen, wo die Lücken sind, möchte ich eine HTML-Tabelle erstellen, die etwa so aussieht:

Mitgliedsnummer 1---
Mitgliedsnummer 2 Username1, Telephon1 (aus DB)
Mitgliedsnummer 3 Username2, Telephon2 (aus DB)
Mitgliedsnummer 4 Username3, Telephon3 (aus DB)
Mitgliedsnummer 5---
Mitgliedsnummer 6 Username4, Telephon4 (aus DB)
. . .

Erster Ansatz war eine Schleife von 0 bis 100, aber wie bekomme ich die vorhandenen Miglieder aus der SQL-Datenbank hineingemischt?

Zweiter Ansatz war ein zweidimensionaler Array, aber da war das Mischproblem auch.

wo hängts?

Geändert von CharlesT (08.02.2007 um 18:15:28 Uhr)
Mit Zitat antworten
  #2  
Alt 08.02.2007, 18:50:16
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: Lücken beim Lesen einer Tabelle füllen

Zitat:
Erster Ansatz war eine Schleife von 0 bis 100, aber wie bekomme ich die vorhandenen Miglieder aus der SQL-Datenbank hineingemischt?
Indem du bei jedem Schleifendurchlauf ein neues Query mit "WHERE id = '$laufvariable'" durchführst und dann entweder das Ergebnis ausgibst oder - wenn nichts zurückkommst - nichts ausgibst.

Ne mySQL Lösung fällt mir jetzt auch nicht ein ...
Theoretisch könnte man die Tabelle per left join an eine Tabelle joinen, die nur aus fortlaufenden ids besteht ... aber dann müsste man sich halt auch erstmal so ne Tabelle machen.
Mit Zitat antworten
  #3  
Alt 08.02.2007, 20:00:53
CharlesT CharlesT ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 17
AW: Lücken beim Lesen einer Tabelle füllen

Oder ich erstelle vorab einen zweidimensionalen Array von
[1][1], [1][2] ...
bis
[100][1], [100],[2]

Danach die Datenbank wie bei http://www.selfphp.de/forum/showpost...22&postcount=2 einlesen. und die entsprechenden Daten ersetzen.
Mit Zitat antworten
  #4  
Alt 09.02.2007, 10:08:51
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Lücken beim Lesen einer Tabelle füllen

Wenn du MySQL ab Version 5.0 verwendest, müsstest du dir so etwas auch mit Triggern bauen können, so dass bei jeder DELETE-Query automatisch die entstandene Lücke korrigiert wird.
Mit Zitat antworten
  #5  
Alt 09.02.2007, 11:03:34
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
AW: Lücken beim Lesen einer Tabelle füllen

Zitat:
ch habe das Problem, dass meine Listennummern (!=IDs!) nicht fortlaufend sind.
Du willst doch aber hoffentlich nicht die Nummern ändern, oder?

Um die leeren Nummern zu finden bietet sich an:
PHP-Code:
<?php
include "mysql.inc.php";
$sql="select * from mitglieder order by mitgliedsnummer";
$result=mysql_query($sql) or die(mysql_error());
$zaehler=1;
while (
$row mysql_fetch_assoc($result)) {
    
$id=$row['mitgliedsnummer'];
    while(
$zaehler<$id) {
        echo 
$zaehler " ---Leer--- <br>\r\n";
        
$zaehler++;
    }
    echo 
$zaehler " " $row['mitlgliesname'] . "<br>\r\n";
    
$zaehler++;
}
?>
Eine einzige Query reicht da aus..

Geändert von BenniG. (09.02.2007 um 11:03:56 Uhr)
Mit Zitat antworten
  #6  
Alt 09.02.2007, 16:06:52
CharlesT CharlesT ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 17
AW: Lücken beim Lesen einer Tabelle füllen

Zitat:
Zitat von BenniG. Beitrag anzeigen
Du willst doch aber hoffentlich nicht die Nummern ändern, oder?

Um die leeren Nummern zu finden bietet sich an:
PHP-Code:
<?php
include "mysql.inc.php";
$sql="select * from mitglieder order by mitgliedsnummer";
$result=mysql_query($sql) or die(mysql_error());
$zaehler=1;
while (
$row mysql_fetch_assoc($result)) {
    
$id=$row['mitgliedsnummer'];
    while(
$zaehler<$id) {
        echo 
$zaehler " ---Leer--- <br>\r\n";
        
$zaehler++;
    }
    echo 
$zaehler " " $row['mitlgliesname'] . "<br>\r\n";
    
$zaehler++;
}
?>
Eine einzige Query reicht da aus..
Ja!!! Ich habe es noch ein wenig angepasst und in ein PDF-File integriert:
PHP-Code:
$result=mysql_query($query) or die(mysql_error());
$zaehler=1;
while (
$row mysql_fetch_assoc($result))
    {
    
$id=$row['listennummer'];
    while(
$zaehler<$id)
        {
        if (
$zaehler>=50)
            {
            
$pdf->Cell(8,5,$zaehler,1,0,R);
            
$pdf->Cell(30,5,' ',1,0,L);
            
$pdf->Cell(40,5,' ',1,0,L);
            
$pdf->Cell(40,5,' ',1,0,L);
            
$pdf->Cell(20,5,' ',1,0,L);
            
$pdf->Cell(40,5,' ',1,0,L);
            
$pdf->Cell(8,5,' ',1,1,L);
            }
        
$zaehler++;
        }
    if (isset(
$row['listennummer']))
        {
        
$listennummer $row['listennummer'];
        
$runID $row['runID'];
        
$vorname $row['vorname'];
        
$nachname $row['nachname'];
        
$strasse $row['strasse'];
        
$plz $row['plz'];
        
$ort $row['ort'];
        
$telefon $row['telefon'];
        
$vorwahl $row['vorwahl'];
        
$email $row['email'];
        
$bezahlt $row['bezahlt'];
    
        
$pdf->Cell(8,5,$listennummer,1,0,R);
        
$pdf->Cell(30,5,$nachname.', '.$vorname,1,0,L);
        
$pdf->Cell(40,5,$strasse,1,0,L);
        
$pdf->Cell(40,5,$plz.' '.$ort,1,0,L);
        
$pdf->Cell(20,5,'('.$vorwahl.') '.$telefon,1,0,L);
        
$pdf->Cell(40,5,$email,1,0,L);
        
$pdf->Cell(8,5,$bezahlt,1,1,L);
        }
       
$zaehler++;
    } 
Da die Nummern erst bei 50 beginnen, und manche Einträge ohne Nummern vorhanden sind, habe ich noch ein paar IFs eingefügt. Jetzt passt es!

Vielen herzlichen Dank!

Geändert von CharlesT (09.02.2007 um 16:09:40 Uhr)
Mit Zitat antworten
Antwort


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.

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

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
tabelle mehrfach abrufen weko32^1 MySQLi/PDO/(MySQL) 5 21.01.2007 14:14:02
Tabelle mit Formular füllen masterd PHP für Fortgeschrittene und Experten 10 10.02.2006 18:45:51
Problem dynamische Tabelle aber wie? Pixelschubser PHP für Fortgeschrittene und Experten 1 08.10.2005 18:16:24
auto_increment zuückgeben oder Tabelle sperren -TC- MySQLi/PDO/(MySQL) 2 17.08.2004 13:55:54
MySQL - tabelle in tabelle Gweilo PHP für Fortgeschrittene und Experten 4 09.11.2002 18:41:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:38:39 Uhr.


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


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