bituniverse.com Foren-Übersicht bituniverse.com
Entwickler Forum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

DB Feld überprüfen

 
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> Datenbanken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Christoph



Anmeldedatum: 17.02.2009
Beiträge: 38
Wohnort: Köln

BeitragVerfasst am: Fr 10 Apr, 2009 14:18    Titel: DB Feld überprüfen Antworten mit Zitat

Erstmal ein freundliches Hallo @all Smile

Ich habe da ein kleines Problem:

Ich lese mit einem PHP-Script die Inhalte meiner DB aus und gebe die Werte in einer HTML Tabelle aus - Klappt auch alles wunderbar. Nun möchte ich das DB-Feld "vorname" auf vorhandenen Inhalt prüfen. Ist dieses Feld befüllt, soll die Tabelle dargestellt werden, wenn nicht, soll eine Meldung erscheinen "Es liegt keine aktuelle bewerbung vor" (es handelt sich um ein Bewerbungsformular). So, und nun passiert folgendes:

Ist das Feld "vorname" befüllt, wird die Tabelle geschrieben. Leere ich das Feld "vorname", wird auch die Meldung "Es liegt...." generiert. Leere ich aber das komplette Table, wird nichtsmehr angezeigt. Hmm, ok, das liegt vllt daran, dass jetzt garkein Datensatz mehr vorliegt und nichts generiert werden kann - Kann ich Felder eines komplett leeren Table überhaupt auf nicht vorhandene Inhalte überprüfen/ansprechen?


Hier mal der komplette code:

Code:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="de">
  4. </head>
  5. <body>
  6.  
  7. <?php
  8. include ("config/db_config.php");
  9.  
  10. $select = "SELECT vorname, zuname, geburtsdatum, anschrift_hausnummer, plz, ort, ruf_festnetz, ruf_mobil, e_mail, msn, sendeerfahrung_ja_nein, sendeerfahrung_wo,
  11.               headset, microfon, mischpult, musik_titel, prozessor, arbeitsspeicher, soundkarte, kostenbeteiligung FROM $table";
  12. $result = mysql_query($select);
  13.  
  14. while ($row = mysql_fetch_assoc($result))
  15.  
  16.   {
  17.  
  18.   $db_vorname = $row['vorname'];
  19.     $db_zuname = $row['zuname'];
  20.     $db_geburtsdatum = $row['geburtsdatum'];
  21.     $db_anschrift_hausnummer = $row['anschrift_hausnummer'];
  22.     $db_plz = $row['plz'];
  23.     $db_ort = $row['ort'];
  24.     $db_ruf_festnetz = $row['ruf_festnetz'];
  25.     $db_ruf_mobil = $row['ruf_mobil'];
  26.     $db_e_mail = $row['e_mail'];
  27.     $db_msn = $row['msn'];
  28.     $db_sendeerfahrung_ja_nein = $row['sendeerfahrung_ja_nein'];
  29.     $db_sendeerfahrung_wo = $row['sendeerfahrung_wo'];
  30.     $db_headset = $row['headset'];
  31.     $db_microfon = $row['microfon'];
  32.     $db_mischpult = $row['mischpult'];
  33.     $db_musik_titel = $row['musik_titel'];
  34.     $db_prozessor = $row['prozessor'];
  35.     $db_arbeitsspeicher = $row['arbeitsspeicher'];
  36.     $db_soundkarte = $row['soundkarte'];
  37.     $db_kostenbeteiligung = $row['plz'];
  38.    
  39.       if ($db_vorname == "")
  40.        
  41.         {
  42.         ?>
  43.         <div align="center">
  44.         <table border = "1" width = "400" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  45.         <tr><br><br><br>
  46.         <td align="center"><b><font color="#FFFFFF">Es liegt keine aktuelle Bewerbung vor</font></b></td>
  47.         </tr>
  48.         </table>
  49.         </div>
  50.         <?php
  51.         }
  52.        
  53.         else
  54.         {
  55.    
  56.     ?>
  57.  
  58.   <div align="center">
  59.  
  60.   <table border="1" width="500">
  61.   <tr>
  62.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  63.   <font color="#FFFFFF">Vorname</font></td>
  64.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['vorname'];?></font></td>
  65.   </tr>
  66.   <tr>
  67.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  68.   <font color="#FFFFFF">Zuname</font></td>
  69.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['zuname'];?></font></td>
  70.   </tr>
  71.   <tr>
  72.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  73.   <font color="#FFFFFF">Geburtsdatum</font></td>
  74.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['geburtsdatum'];?></font></td>
  75.   </tr>
  76.   <tr>
  77.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  78.   <font color="#FFFFFF">Anschrift/Hausnummer</font></td>
  79.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['vorname'];?></font></td>
  80.   </tr>
  81.   <tr>
  82.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  83.   <font color="#FFFFFF">PLZ</font></td>
  84.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['plz'];?></font></td>
  85.   </tr>
  86.   <tr>
  87.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  88.   <font color="#FFFFFF">Ort</font></td>
  89.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['ort'];?></font></td>
  90.   </tr>
  91.   <tr>
  92.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  93.   <font color="#FFFFFF">Ruf Festnetz</font></td>
  94.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['ruf_festnetz'];?></font></td>
  95.   </tr>
  96.   <tr>
  97.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  98.   <font color="#FFFFFF">Ruf mobil</font></td>
  99.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['ruf_mobil'];?></font></td>
  100.   </tr>
  101.   <tr>
  102.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  103.   <font color="#FFFFFF">E-Mail</font></td>
  104.   <td width="350" bgcolor="#8B4513">&nbsp;</td>
  105.   </tr>
  106.   <tr>
  107.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  108.   <font color="#FFFFFF">MSN</font></td>
  109.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['msn'];?></font></td>
  110.   </tr>
  111.   <tr>
  112.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  113.   <font color="#FFFFFF">Sendeerfahrung</font></td>
  114.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['sendeerfahrung_ja_nein'];?></font></td>
  115.   </tr>
  116.   <tr>
  117.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  118.   <font color="#FFFFFF">Wo</font></td>
  119.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['sendeerfahrung_wo'];?></font></td>
  120.   </tr>
  121.   <tr>
  122.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  123.   <font color="#FFFFFF">Headset</font></td>
  124.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['headset'];?></font></td>
  125.   </tr>
  126.   <tr>
  127.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  128.   <font color="#FFFFFF">Microfon</font></td>
  129.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['microfon'];?></font></td>
  130.   </tr>
  131.   <tr>
  132.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  133.   <font color="#FFFFFF">Mischpult</font></td>
  134.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['mischpult'];?></font></td>
  135.   </tr>
  136.   <tr>
  137.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  138.   <font color="#FFFFFF">Musik Titel/GB</font></td>
  139.   <td width="350" bgcolor="#8B4513">&nbsp;</td>
  140.   </tr>
  141.   <tr>
  142.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  143.   <font color="#FFFFFF">Prozessor</font></td>
  144.   <td width="350" bgcolor="#8B4513">&nbsp;</td>
  145.   </tr>
  146.   <tr>
  147.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  148.   <font color="#FFFFFF">Arbeitsspeicher</font></td>
  149.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['arbeitsspeicher'];?></font></td>
  150.   </tr>
  151.   <tr>
  152.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  153.   <font color="#FFFFFF">Soundkarte</font></td>
  154.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['soundkarte'];?></font></td>
  155.   </tr>
  156.   <tr>
  157.   <td width="150" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  158.   <font color="#FFFFFF">Kostenbeteiligung</font></td>
  159.   <td width="350" bgcolor="#8B4513"><font color="#FFFFFF"><?=$row['kostenbeteiligung'];?></font></td>
  160.   </tr>
  161.   <tr>
  162.   <td width="500" colspan="2" bgcolor="#C0C0C0"><hr></td>
  163.   </tr>
  164.   </table>
  165.   </div>
  166.  
  167.   <?php
  168.   }
  169.   } 
  170.   ?>

Vorab vielen Dank für Eure Hilfe

Best Regards und ein frohes Osterfest

Christoph


_________________

Computerstörungen sitzen immer ca. 50 cm. vor dem Bildschirm Wink

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Stifler
Moderator


Anmeldedatum: 04.11.2007
Beiträge: 68
Wohnort: Graz, Steiermark, Österreich

BeitragVerfasst am: Fr 10 Apr, 2009 15:47    Titel: Antworten mit Zitat

Ich würde vor der while schleife ein $row = mysql_num_rows($result); machen und bei der überprüfung if(trim($vorname) == "" || $row == "0") { echo "leer"; } else ...


_________________

An manchen Tagen gewinnt man an anderen Tagen verlieren die anderen.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Christoph



Anmeldedatum: 17.02.2009
Beiträge: 38
Wohnort: Köln

BeitragVerfasst am: Fr 10 Apr, 2009 16:15    Titel: Antworten mit Zitat

@Stifler

vorab vielen Dank für Deine schnelle Antwort, aber leider ist das Ergebnis das selbe, wie im Eingangspost beschrieben


<?php
include ("config/db_config.php");

$select = "SELECT vorname, zuname, geburtsdatum, anschrift_hausnummer, plz, ort, ruf_festnetz, ruf_mobil, e_mail, msn, sendeerfahrung_ja_nein, sendeerfahrung_wo,
headset, microfon, mischpult, musik_titel, prozessor, arbeitsspeicher, soundkarte, kostenbeteiligung FROM $table";
$result = mysql_query($select);

$row=mysql_num_rows($result);

while ($row = mysql_fetch_assoc($result))

{

$db_vorname = $row['vorname'];
$db_zuname = $row['zuname'];
$db_geburtsdatum = $row['geburtsdatum'];
$db_anschrift_hausnummer = $row['anschrift_hausnummer'];
$db_plz = $row['plz'];
$db_ort = $row['ort'];
$db_ruf_festnetz = $row['ruf_festnetz'];
$db_ruf_mobil = $row['ruf_mobil'];
$db_e_mail = $row['e_mail'];
$db_msn = $row['msn'];
$db_sendeerfahrung_ja_nein = $row['sendeerfahrung_ja_nein'];
$db_sendeerfahrung_wo = $row['sendeerfahrung_wo'];
$db_headset = $row['headset'];
$db_microfon = $row['microfon'];
$db_mischpult = $row['mischpult'];
$db_musik_titel = $row['musik_titel'];
$db_prozessor = $row['prozessor'];
$db_arbeitsspeicher = $row['arbeitsspeicher'];
$db_soundkarte = $row['soundkarte'];
$db_kostenbeteiligung = $row['plz'];

if (trim($db_vorname) == "" || $row =="0")

{
?>
<div align="center">
<table border = "1" width = "400" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
<tr><br><br><br>
<td align="center"><b><font color="#FFFFFF">Es liegt keine aktuelle Bewerbung vor</font></b></td>
</tr>
</table>
</div>
<?php
}

else
{ ............................


_________________

Computerstörungen sitzen immer ca. 50 cm. vor dem Bildschirm Wink

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Stifler
Moderator


Anmeldedatum: 04.11.2007
Beiträge: 68
Wohnort: Graz, Steiermark, Österreich

BeitragVerfasst am: Fr 10 Apr, 2009 19:25    Titel: Antworten mit Zitat

Doch das geht ich hab nur grade gesehen dass du schon eine $row Variable hast das heisst du benennst $row = mysql_num_rows($result) in $anz = mysql_num_rows($result) um und änderst bei der if Abfrage das $row == "0" in $anz == "0";

so müsste es klappen!


_________________

An manchen Tagen gewinnt man an anderen Tagen verlieren die anderen.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Christoph



Anmeldedatum: 17.02.2009
Beiträge: 38
Wohnort: Köln

BeitragVerfasst am: Sa 11 Apr, 2009 11:28    Titel: Antworten mit Zitat

Hi @Stifler,

hmm, dass ich mir hier eine var 2 mal befülle, hätte ich auch selber drauf kommen können, aber leider klappt es nach der Umbenennung in "anz" auch nicht. Könnte es evtl. an der Konfig. der DB Felder liegen?

Das Feld "vorname" ist Varchar(50), not null

Code:
  1. <?php
  2. include ("config/db_config.php");
  3.  
  4. $select = "SELECT vorname, zuname, geburtsdatum, anschrift_hausnummer, plz, ort, ruf_festnetz, ruf_mobil, e_mail, msn, sendeerfahrung_ja_nein, sendeerfahrung_wo,
  5.               headset, microfon, mischpult, musik_titel, prozessor, arbeitsspeicher, soundkarte, kostenbeteiligung FROM $table";
  6. $result = mysql_query($select);
  7.  
  8. $anz=mysql_num_rows($result);
  9.  
  10. while ($row = mysql_fetch_assoc($result))
  11.  
  12.   {
  13.  
  14.   $db_vorname = $row['vorname'];
  15.     $db_zuname = $row['zuname'];
  16.     $db_geburtsdatum = $row['geburtsdatum'];
  17.     $db_anschrift_hausnummer = $row['anschrift_hausnummer'];
  18.     $db_plz = $row['plz'];
  19.     $db_ort = $row['ort'];
  20.     $db_ruf_festnetz = $row['ruf_festnetz'];
  21.     $db_ruf_mobil = $row['ruf_mobil'];
  22.     $db_e_mail = $row['e_mail'];
  23.     $db_msn = $row['msn'];
  24.     $db_sendeerfahrung_ja_nein = $row['sendeerfahrung_ja_nein'];
  25.     $db_sendeerfahrung_wo = $row['sendeerfahrung_wo'];
  26.     $db_headset = $row['headset'];
  27.     $db_microfon = $row['microfon'];
  28.     $db_mischpult = $row['mischpult'];
  29.     $db_musik_titel = $row['musik_titel'];
  30.     $db_prozessor = $row['prozessor'];
  31.     $db_arbeitsspeicher = $row['arbeitsspeicher'];
  32.     $db_soundkarte = $row['soundkarte'];
  33.     $db_kostenbeteiligung = $row['plz'];
  34.    
  35.       if (trim($db_vorname) == "" || $anz =="0")
  36.        
  37.         {
  38.         ?>
  39.         <div align="center">
  40.         <table border = "1" width = "400" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  41.         <tr><br><br><br>
  42.         <td align="center"><b><font color="#FFFFFF">Es liegt keine aktuelle Bewerbung vor</font></b></td>
  43.         </tr>
  44.         </table>
  45.         </div>
  46.         <?php
  47.         }
  48.        
  49.         else
  50.         {
  51.                         .............................


_________________

Computerstörungen sitzen immer ca. 50 cm. vor dem Bildschirm Wink

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Simon W.
Anti-verdenglischungs-Abgeordneter


Anmeldedatum: 05.11.2007
Beiträge: 283
Wohnort: Aachen

BeitragVerfasst am: Sa 11 Apr, 2009 11:58    Titel: Antworten mit Zitat

Wenn num_rows 0 zurückliefert, dann wird fetch_row erst recht nie eine Zeile abholen können. Deine Abfrage, ob kein Datensatz existiert, darf demnach gar nicht innerhalb der while-Schleife liegen.

Zitat:
Kann ich Felder eines komplett leeren Table überhaupt auf nicht vorhandene Inhalte überprüfen/ansprechen?


Wenn die Tabelle leer ist, gibt es doch gar keine Felder, die man überprüfen könnte.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christoph



Anmeldedatum: 17.02.2009
Beiträge: 38
Wohnort: Köln

BeitragVerfasst am: Sa 11 Apr, 2009 12:08    Titel: Antworten mit Zitat

@simon,

jepp, das war ja tenor meiner Frage - Kann ich denn prüfen, ob die Tabelle leer ist und dann eine Meldung ausgeben? Ich hatte es mal mit if ($table == "0") {....}; versucht - Hmm, sorry wenn ich mich was blöd anstelle, aber ich lerne noch.

thx & greetz


_________________

Computerstörungen sitzen immer ca. 50 cm. vor dem Bildschirm Wink

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Simon W.
Anti-verdenglischungs-Abgeordneter


Anmeldedatum: 05.11.2007
Beiträge: 283
Wohnort: Aachen

BeitragVerfasst am: Sa 11 Apr, 2009 12:35    Titel: Antworten mit Zitat

mysql_num_rows liefert dir doch die anzahl der ergebnisse der abfrage. wenn da 0 herauskommt, dann ist die tabelle wohl leer. Wink

komkret also: if ($anz>0) { .... alles hier } else { echo "keine einträge"; }

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christoph



Anmeldedatum: 17.02.2009
Beiträge: 38
Wohnort: Köln

BeitragVerfasst am: Sa 11 Apr, 2009 16:12    Titel: Antworten mit Zitat

jaja, das war mal wieder ein klassisches Beispiel für das Sprichwort: "Warum in die Ferne schweifen wenn das Gute liegt so nah"
Danke Dir, es fluppt und ich hab´ mal wieder was dazugelernt Smile


_________________

Computerstörungen sitzen immer ca. 50 cm. vor dem Bildschirm Wink

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> Datenbanken Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB2.de
Powered by WebRing.