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 

Projekt Sendeplan - Datenbankstruktur
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
 
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: So 22 März, 2009 16:14    Titel: Antworten mit Zitat

@beepa - doch, das hatte mich in der Tat etwas verwirrt und ich hatte es so ausprobiert, wie du es als Möglichkeit vorgegeben hast.

@all - Hmm, jetzt bin ich etwas verwirrt. Benötige ich denn, wenn ich es so versuche wie @m es gezeigt hat auch keine Arrays und keine While-Schleife mehr?

Ich habe jetzt mal etwas ausprobiert mit dem Resultat, dass die Daten aus dem Formular auch brav in die DB eingetragen werden Nur klappt die Überprüfung nicht - Bin grade etwas durcheinander. Hier mal mein geändertes Script

Code:
  1. <html>
  2. <head>
  3.  
  4. <script language="JavaScript">
  5.      
  6.       function pruefung(send)
  7.       {    
  8.           if(send.nickname.value.length < 1 )
  9.           {
  10.               alert("Bitte gib Deinen Nicknamen ein")
  11.               return false
  12.           }
  13.  
  14.        
  15.         if(send.tag.value.length < 1 )
  16.           {
  17.               alert("Bitte wähle einen Sendetag aus")
  18.               return false
  19.           }
  20.  
  21.        
  22.         if(send.uhrzeit.value.length < 1 )
  23.           {
  24.               alert("Bitte wähle eine Uhrzeit aus")
  25.               return false
  26.           }
  27.          
  28.          
  29.           if(send.sendungsname.value.length < 1 )
  30.           {
  31.               alert("Bitte gib einen Sendungsnamen an")
  32.               return false
  33.           }
  34.            
  35.           else alert("Dein Eintrag wird überprüft")
  36.             return true
  37.         }
  38. </script>
  39.  
  40. </head>
  41. <body>
  42.  
  43. <?php
  44. include ("config/db_config.php");
  45.  
  46. ?>
  47.  
  48. <form name="send" method="POST" onSubmit="return pruefung(this)"
  49. action="http://www.radio-mittelrhein.de/sendeplanscript/send.php">
  50.  
  51. <table border="1">
  52.   <tr>
  53.     <td>Nickname</td>
  54.     <td><input name="nickname"></td>
  55.   </tr>  
  56.  
  57.   <tr>
  58.     <td>Tag</td>
  59.     <td><select size="1" name="tag">
  60.   <option value="Montag">Montag</option>
  61.   <option value="Dienstag">Dienstag</option>
  62.   <option value="Mittwoch">Mittwoch</option>
  63.   <option value="Donnerstag">Donnerstag</option>
  64.   <option value="Freitag">Freitag</option>
  65.   <option value="Samstag">Samstag</option>
  66.   <option value="Sonntag">Sonntag</option>
  67.   </select></td>
  68.   </tr>
  69.  
  70.   <tr>
  71.     <td>Uhrzeit</td>
  72.     <td><select size="1" name="uhrzeit">
  73.   <option value="16-18 Uhr">16-18 Uhr</option>
  74.   <option value="18-20 Uhr">18-20 Uhr</option>
  75.   <option value="20-22 Uhr">20-22 Uhr</option>
  76.   <option value="22-00 Uhr">22-00 Uhr</option>
  77.   </select></td>
  78.   </tr>
  79.  
  80.   <tr>
  81.     <td>Sendungsname</td>
  82.     <td><input name="sendungsname"></td>
  83.   </tr>
  84. </table>
  85. <input type="submit" value="Absenden" name="B1"><input type="reset" value="Zurücksetzen" name="B2">
  86. </form>
  87. </body>
  88. </html>
  89.  
  90. <?php
  91.  
  92.   $select = "SELECT tag, uhrzeit FROM $table WHERE tag = '".$tag."' AND uhrzeit = '".$uhrzeit."' ";
  93.   $result = mysql_query($select);
  94.    
  95.  
  96.   $row = mysql_fetch_assoc($result);
  97.  
  98.     if( mysql_num_rows( $result ) >0)
  99.     {
  100.     echo "Dieser Sendeplatz ist bereits belegt";  
  101.     }
  102.   else
  103.     {
  104.  
  105.   $nickname          = (addslashes ($_POST ['nickname'] ));
  106.   $tag               = (addslashes ($_POST ['tag'] ));
  107.   $uhrzeit           = (addslashes ($_POST ['uhrzeit'] ));
  108.   $sendungsname      = (addslashes ($_POST ['sendungsname'] ));
  109.  
  110.   $eintrag = "INSERT INTO $table (nickname, tag, uhrzeit, sendungsname)
  111.   VALUES ('$nickname', '$tag', '$uhrzeit', '$sendungsname' )";
  112.  
  113.   mysql_query ($eintrag);
  114.  
  115.   echo "Dein Eintrag wurde erfolgreich gespeichert";
  116.   }
  117.    
  118. ?>

Confused


_________________

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

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






BeitragVerfasst am: So 22 März, 2009 19:05    Titel: Antworten mit Zitat

Christoph hat Folgendes geschrieben:
@beepa - doch, das hatte mich in der Tat etwas verwirrt und ich hatte es so ausprobiert, wie du es als Möglichkeit vorgegeben hast.

@all - Hmm, jetzt bin ich etwas verwirrt. Benötige ich denn, wenn ich es so versuche wie @m es gezeigt hat auch keine Arrays und keine While-Schleife mehr?

Ich habe jetzt mal etwas ausprobiert mit dem Resultat, dass die Daten aus dem Formular auch brav in die DB eingetragen werden Nur klappt die Überprüfung nicht - Bin grade etwas durcheinander. Hier mal mein geändertes Script

Code:
  1. <html>
  2. <head>
  3.  
  4. <script language="JavaScript">
  5.      
  6.       function pruefung(send)
  7.       {    
  8.           if(send.nickname.value.length < 1 )
  9.           {
  10.               alert("Bitte gib Deinen Nicknamen ein")
  11.               return false
  12.           }
  13.  
  14.        
  15.         if(send.tag.value.length < 1 )
  16.           {
  17.               alert("Bitte wähle einen Sendetag aus")
  18.               return false
  19.           }
  20.  
  21.        
  22.         if(send.uhrzeit.value.length < 1 )
  23.           {
  24.               alert("Bitte wähle eine Uhrzeit aus")
  25.               return false
  26.           }
  27.          
  28.          
  29.           if(send.sendungsname.value.length < 1 )
  30.           {
  31.               alert("Bitte gib einen Sendungsnamen an")
  32.               return false
  33.           }
  34.            
  35.           else alert("Dein Eintrag wird überprüft")
  36.             return true
  37.         }
  38. </script>
  39.  
  40. </head>
  41. <body>
  42.  
  43. <?php
  44. include ("config/db_config.php");
  45.  
  46. ?>
  47.  
  48. <form name="send" method="POST" onSubmit="return pruefung(this)"
  49. action="http://www.radio-mittelrhein.de/sendeplanscript/send.php">
  50.  
  51. <table border="1">
  52.   <tr>
  53.     <td>Nickname</td>
  54.     <td><input name="nickname"></td>
  55.   </tr>  
  56.  
  57.   <tr>
  58.     <td>Tag</td>
  59.     <td><select size="1" name="tag">
  60.   <option value="Montag">Montag</option>
  61.   <option value="Dienstag">Dienstag</option>
  62.   <option value="Mittwoch">Mittwoch</option>
  63.   <option value="Donnerstag">Donnerstag</option>
  64.   <option value="Freitag">Freitag</option>
  65.   <option value="Samstag">Samstag</option>
  66.   <option value="Sonntag">Sonntag</option>
  67.   </select></td>
  68.   </tr>
  69.  
  70.   <tr>
  71.     <td>Uhrzeit</td>
  72.     <td><select size="1" name="uhrzeit">
  73.   <option value="16-18 Uhr">16-18 Uhr</option>
  74.   <option value="18-20 Uhr">18-20 Uhr</option>
  75.   <option value="20-22 Uhr">20-22 Uhr</option>
  76.   <option value="22-00 Uhr">22-00 Uhr</option>
  77.   </select></td>
  78.   </tr>
  79.  
  80.   <tr>
  81.     <td>Sendungsname</td>
  82.     <td><input name="sendungsname"></td>
  83.   </tr>
  84. </table>
  85. <input type="submit" value="Absenden" name="B1"><input type="reset" value="Zurücksetzen" name="B2">
  86. </form>
  87. </body>
  88. </html>
  89.  
  90. <?php
  91.  
  92.   $select = "SELECT tag, uhrzeit FROM $table WHERE tag = '".$tag."' AND uhrzeit = '".$uhrzeit."' ";
  93.   $result = mysql_query($select);
  94.    
  95.  
  96.   $row = mysql_fetch_assoc($result);
  97.  
  98.     if( mysql_num_rows( $result ) >0)
  99.     {
  100.     echo "Dieser Sendeplatz ist bereits belegt";  
  101.     }
  102.   else
  103.     {
  104.  
  105.   $nickname          = (addslashes ($_POST ['nickname'] ));
  106.   $tag               = (addslashes ($_POST ['tag'] ));
  107.   $uhrzeit           = (addslashes ($_POST ['uhrzeit'] ));
  108.   $sendungsname      = (addslashes ($_POST ['sendungsname'] ));
  109.  
  110.   $eintrag = "INSERT INTO $table (nickname, tag, uhrzeit, sendungsname)
  111.   VALUES ('$nickname', '$tag', '$uhrzeit', '$sendungsname' )";
  112.  
  113.   mysql_query ($eintrag);
  114.  
  115.   echo "Dein Eintrag wurde erfolgreich gespeichert";
  116.   }
  117.    
  118. ?>


Confused

EDIT:

Ich hab es jetzt mal wie nachfolgend zu sehen versucht, ich komme nicht weiter - Das Script schreibt fleissig in die DB aber nimmt die Überprüfung nicht vor Sad

Code:
  1. <?php
  2.  
  3.   $select = "SELECT tag, uhrzeit FROM $table WHERE tag = '".$tag."' AND uhrzeit = '".$uhrzeit."' ";
  4.   $result = mysql_query($select);
  5.    
  6.   while ($row = mysql_fetch_assoc($result))
  7.     {
  8.     $dbtag= $row['tag'];
  9.     $dbuhrzeit = $row['uhrzeit'];
  10.     }
  11.  
  12.     if ($dbtag == $_POST['tag'] & $db_uhrzeit == $_POST['uhrzeit'] )
  13.    
  14.     {
  15.    
  16.     echo "Dieser Sendeplatz ist bereits belegt";  
  17.     }
  18.  
  19.   else
  20.     {
  21.  
  22.     $nickname          = (addslashes ($_POST ['nickname'] ));
  23.     $tag               = (addslashes ($_POST ['tag'] ));
  24.     $uhrzeit           = (addslashes ($_POST ['uhrzeit'] ));
  25.     $sendungsname      = (addslashes ($_POST ['sendungsname'] ));
  26.  
  27.     $eintrag = "INSERT INTO $table (nickname, tag, uhrzeit, sendungsname)
  28.     VALUES ('$nickname', '$tag', '$uhrzeit', '$sendungsname' )";
  29.  
  30.     mysql_query ($eintrag);
  31.  
  32.     echo "Dein Eintrag wurde erfolgreich gespeichert";
  33.     }
  34. ?>

Nach oben
M



Anmeldedatum: 05.11.2007
Beiträge: 107
Wohnort: Aachen

BeitragVerfasst am: So 22 März, 2009 23:35    Titel: Antworten mit Zitat

Du must den Teil mit addslashes VOR das SELECT schreiben, sonst ist $tag und $uhrzeit noch nicht belegt, wenn du sie da verwendest und du machst im Prinzip dann sowas:

Zitat:
SELECT tag, uhrzeit FROM $table WHERE tag = '' AND uhrzeit = ''

Deswegen sagte ich, du solltest mal deine Einstellungen zum error reporting überprüfen, dann würde PHP dir einen solchen Fehler anzeigen Wink

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



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

BeitragVerfasst am: Mo 23 März, 2009 21:37    Titel: Antworten mit Zitat

@M
au man, genau das meine ich, man braucht echt nen Schlag in den Nacken - sorry für meine Dämligkeit - Ich hab die $_POST´s jetzt vor das Select gepackt, nun klappt das auch mit der Überprüfung - *peinlich* - Da hätte ich eigentlich auch echt selber drauf kommen müssen - Aber so ein Fehler passiert mir jetzt bestimmt nichtmehr Embarassed Und auf den Knieen liegend gelobe ich, zukünftig das Error-Reporting zuverwenden/Überprüfen - Ich schwöre Laughing

Aber nun habe ich doch noch eine kleine Frage:

Ich möchte mir natürlich jetzt auch die Daten ausgeben lassen, ist auch kein Problem, habe mir eine entsprechende get.php geschrieben, die dann den fertigen Sendeplan darstellen soll. Klappt auch soweit sehr gut, nur habe ich ein kleines Problem mit ORDER BY. Ich möchte natürlich jetzt gerne die Daten sortiert nach Tag, und dann nach Uhrzeit ausgeben lassen. Dazu verwende ich:

Code:
  1. $select = "SELECT tag, uhrzeit, nickname, sendungsname FROM $table ORDER BY tag, uhrzeit ASC";

Kann es sein, dass ORDER BY lediglich Zahlenwerte sortieren kann, da das Ausgabeergebnis nur die Zeiten, aber nicht die Wochentage sortiert?

Hier mal meine get.php

Code:
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.   <table border="1" width="400" style="border-collapse: collapse" id="table1">
  6.     <tr>
  7.       <td>Tag</td>
  8.       <td>Uhrzeit</td>
  9.       <td>Modi/DJ</td>
  10.       <td>Sendung</td>
  11.     </tr>
  12.   </table> 
  13.  
  14. <?php
  15. include ("config/db_config.php");
  16.  
  17. $select = "SELECT tag, uhrzeit, nickname, sendungsname FROM $table ORDER BY tag, uhrzeit ASC";
  18. $result = mysql_query($select);
  19.  
  20.      
  21. while ($row = mysql_fetch_assoc($result))
  22.   {
  23.     $db_nickname = $row['nickname'];
  24.     $db_tag = $row['tag'];
  25.     $db_uhrzeit = $row['uhrzeit'];
  26.     $db_sendungsname = $row['sendungsname'];
  27. ?>
  28.  
  29.   <table border="1" width="400" style="border-collapse: collapse" id="table1">
  30.     <tr>
  31.       <td><?=$row['tag'];?></td>
  32.       <td><?=$row['uhrzeit'];?></td>
  33.       <td><?=$row['nickname'];?></td>
  34.       <td><?=$row['sendungsname'];?></td>
  35.     </tr>
  36.   </table>
  37. <?php
  38. ?>

An dieser Stelle möchte ich mich recht herzlich bei Allen bedanken, die mir "den Pfad der Tugend" gewiesen haben Smile

Viele Grüße aus "Kölle"
Christoph


SORRRYY, Kommando zurück, ich hab´s
Code:
  1. $select = "SELECT tag, uhrzeit, nickname, sendungsname FROM $table ORDER BY tag DESC, uhrzeit ASC";

So klappts auch mit der Sortierung Smile

EDIT:

Mist, zu früh gefreut, hatte es lediglich mit Dienstag und Freitag getestet, und da D ja vor F kommt, klappte es, kommt der Montag hinzu, wird es bitter:

Dienstag
Freitag
Montag

Logisch, da alphabetische Sortierung, aber wie kann ich mit ORDER BY Wochentage chronologisch richtig ausgeben - Google-Ergebnisse verwirren mehr, als dass sie helfen - *schnief* - Ich dachte, nu bekomme ich mal was alleine hin - shit happend :S


_________________

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

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






BeitragVerfasst am: Mi 25 März, 2009 19:49    Titel: Antworten mit Zitat

Christoph hat Folgendes geschrieben:
@M
au man, genau das meine ich, man braucht echt nen Schlag in den Nacken - sorry für meine Dämligkeit - Ich hab die $_POST´s jetzt vor das Select gepackt, nun klappt das auch mit der Überprüfung - *peinlich* - Da hätte ich eigentlich auch echt selber drauf kommen müssen - Aber so ein Fehler passiert mir jetzt bestimmt nichtmehr Embarassed Und auf den Knieen liegend gelobe ich, zukünftig das Error-Reporting zuverwenden/Überprüfen - Ich schwöre Laughing

Aber nun habe ich doch noch eine kleine Frage:

Ich möchte mir natürlich jetzt auch die Daten ausgeben lassen, ist auch kein Problem, habe mir eine entsprechende get.php geschrieben, die dann den fertigen Sendeplan darstellen soll. Klappt auch soweit sehr gut, nur habe ich ein kleines Problem mit ORDER BY. Ich möchte natürlich jetzt gerne die Daten sortiert nach Tag, und dann nach Uhrzeit ausgeben lassen. Dazu verwende ich:

Code:
  1. $select = "SELECT tag, uhrzeit, nickname, sendungsname FROM $table ORDER BY tag, uhrzeit ASC";


Kann es sein, dass ORDER BY lediglich Zahlenwerte sortieren kann, da das Ausgabeergebnis nur die Zeiten, aber nicht die Wochentage sortiert?

Hier mal meine get.php

Code:
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.   <table border="1" width="400" style="border-collapse: collapse" id="table1">
  6.     <tr>
  7.       <td>Tag</td>
  8.       <td>Uhrzeit</td>
  9.       <td>Modi/DJ</td>
  10.       <td>Sendung</td>
  11.     </tr>
  12.   </table> 
  13.  
  14. <?php
  15. include ("config/db_config.php");
  16.  
  17. $select = "SELECT tag, uhrzeit, nickname, sendungsname FROM $table ORDER BY tag, uhrzeit ASC";
  18. $result = mysql_query($select);
  19.  
  20.      
  21. while ($row = mysql_fetch_assoc($result))
  22.   {
  23.     $db_nickname = $row['nickname'];
  24.     $db_tag = $row['tag'];
  25.     $db_uhrzeit = $row['uhrzeit'];
  26.     $db_sendungsname = $row['sendungsname'];
  27. ?>
  28.  
  29.   <table border="1" width="400" style="border-collapse: collapse" id="table1">
  30.     <tr>
  31.       <td><?=$row['tag'];?></td>
  32.       <td><?=$row['uhrzeit'];?></td>
  33.       <td><?=$row['nickname'];?></td>
  34.       <td><?=$row['sendungsname'];?></td>
  35.     </tr>
  36.   </table>
  37. <?php
  38. ?>


An dieser Stelle möchte ich mich recht herzlich bei Allen bedanken, die mir "den Pfad der Tugend" gewiesen haben Smile

Viele Grüße aus "Kölle"
Christoph

EDIT:

Habe eine Lösung gefunden, übergebe jetzt die Values der Wochentage als Zahlen, und hole mir diese in ein Array, und bauae das Array um $_row['tag'] - Funzelt einwandfrei Smile
Nach oben
Gast






BeitragVerfasst am: Mi 25 März, 2009 19:51    Titel: Antworten mit Zitat

Anonymous hat Folgendes geschrieben:
Christoph hat Folgendes geschrieben:
@M
au man, genau das meine ich, man braucht echt nen Schlag in den Nacken - sorry für meine Dämligkeit - Ich hab die $_POST´s jetzt vor das Select gepackt, nun klappt das auch mit der Überprüfung - *peinlich* - Da hätte ich eigentlich auch echt selber drauf kommen müssen - Aber so ein Fehler passiert mir jetzt bestimmt nichtmehr Embarassed Und auf den Knieen liegend gelobe ich, zukünftig das Error-Reporting zuverwenden/Überprüfen - Ich schwöre Laughing

Aber nun habe ich doch noch eine kleine Frage:

Ich möchte mir natürlich jetzt auch die Daten ausgeben lassen, ist auch kein Problem, habe mir eine entsprechende get.php geschrieben, die dann den fertigen Sendeplan darstellen soll. Klappt auch soweit sehr gut, nur habe ich ein kleines Problem mit ORDER BY. Ich möchte natürlich jetzt gerne die Daten sortiert nach Tag, und dann nach Uhrzeit ausgeben lassen. Dazu verwende ich:

Code:
  1. $select = "SELECT tag, uhrzeit, nickname, sendungsname FROM $table ORDER BY tag, uhrzeit ASC";


Kann es sein, dass ORDER BY lediglich Zahlenwerte sortieren kann, da das Ausgabeergebnis nur die Zeiten, aber nicht die Wochentage sortiert?

Hier mal meine get.php

Code:
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.   <table border="1" width="400" style="border-collapse: collapse" id="table1">
  6.     <tr>
  7.       <td>Tag</td>
  8.       <td>Uhrzeit</td>
  9.       <td>Modi/DJ</td>
  10.       <td>Sendung</td>
  11.     </tr>
  12.   </table> 
  13.  
  14. <?php
  15. include ("config/db_config.php");
  16.  
  17. $select = "SELECT tag, uhrzeit, nickname, sendungsname FROM $table ORDER BY tag, uhrzeit ASC";
  18. $result = mysql_query($select);
  19.  
  20.      
  21. while ($row = mysql_fetch_assoc($result))
  22.   {
  23.     $db_nickname = $row['nickname'];
  24.     $db_tag = $row['tag'];
  25.     $db_uhrzeit = $row['uhrzeit'];
  26.     $db_sendungsname = $row['sendungsname'];
  27. ?>
  28.  
  29.   <table border="1" width="400" style="border-collapse: collapse" id="table1">
  30.     <tr>
  31.       <td><?=$row['tag'];?></td>
  32.       <td><?=$row['uhrzeit'];?></td>
  33.       <td><?=$row['nickname'];?></td>
  34.       <td><?=$row['sendungsname'];?></td>
  35.     </tr>
  36.   </table>
  37. <?php
  38. ?>


An dieser Stelle möchte ich mich recht herzlich bei Allen bedanken, die mir "den Pfad der Tugend" gewiesen haben Smile

Viele Grüße aus "Kölle"
Christoph

EDIT:

Habe eine Lösung gefunden, übergebe jetzt die Values der Wochentage als Zahlen, und hole mir diese in ein Array, und baue das Array um [$row['tag'] - Funzelt einwandfrei Smile
Nach oben
Günni



Anmeldedatum: 10.11.2007
Beiträge: 22
Wohnort: Viersen

BeitragVerfasst am: Mi 25 März, 2009 21:42    Titel: Antworten mit Zitat

Hi Christoph,

Christoph hat Folgendes geschrieben:

Habe eine Lösung gefunden, übergebe jetzt die Values der Wochentage als Zahlen, und hole mir diese in ein Array, und baue das Array um [$row['tag']


Das geht auch "etwas" einfacher. Du legst die Wochentage in der Tabelle als SET an:

Code:
  1. CREATE TABLE `sendetermine` (
  2. . . .
  3.  
  4. `wtag` set('Mo','Di','Mi','Do','Fr','Sa','So') NOT NULL default '',
  5. . . .
  6.  
  7. )

Der Datentyp SET verwaltet die Liste über einzelne Bits: 1=Mo, 2=Di 4=Mi usw., ergo sieht

die Select-Box im Formular so aus:

Code:
  1. <select name="wtag">
  2.  
  3. <option value="1">Mo</option>
  4.  
  5. <option value="2">Di</option>
  6.  
  7. <option value="4">Mi</option>
  8.  
  9. <option value="8">Do</option>
  10.  
  11. <option value="16">Fr</option>
  12.  
  13. <option value="32">Sa</option>
  14.  
  15. <option value="64">So</option>
  16.  
  17. </select>

Beim Senden des Formulars wird der entsprechende Bitwert(value=n) übertragen und

via INSERT in die Tabelle eingetragen.

Bei einem SELECT wird dann der entsprechende Listeneintrag ausgegeben.

Gruß

Günni

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Christoph



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

BeitragVerfasst am: Sa 28 März, 2009 19:41    Titel: Antworten mit Zitat

Hallo @Günni,

danke für Deine alternative Lösung - Werde ich mit Sicherheit in Erinnerung behalten Smile

An diese Stelle hätte ich aber mal eine grundsätzliche Frage:

Bei meinem Script handelt es sich ja um einen Sendeplan für mein Internetradio. Nund möchte ich wissen ob es möglich ist, einzelne Sendungen farblich hervorzuheben.

Konkret:

Im Formular, über das man seine Sendung einträgt, habe ich Radiobuttens eingebaut, wo man anklicken kann: "Sondersendung" ja/nein

Wenn nun ein Datensatz in der Datenbank im Feld "Sondersendung" einen Wert "1" (ja) oder "0" (nein) hat, soll der Datensatz in der Ausgabe entsprechend farblich dargestellt werden. Nun bin ich mir aber nicht sicher, ob das so, wie ich momentan meine Daten aus der DB auslese und darstelle, überhaupt möglich ist.

Ich habe mir mal ein paar grundsätzliche Gedanken dazu gemacht:

1. Ich baue eine if/else in der sage:

Code:
  1. <body>
  2.   <div align="center">
  3.   <table border="1" width="600" style="border-collapse: collapse" id="table1" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  4.     <tr>
  5.       <td width="100"><b><font color="#FFFFFF" face="Verdana" size="2">Tag</font></b></td>
  6.       <td width="100"><b><font color="#FFFFFF" face="Verdana" size="2">Uhrzeit</font></b></td>
  7.       <td width="150"><b><font color="#FFFFFF" face="Verdana" size="2">Modi/DJ</font></b></td>
  8.       <td width="250"><b><font color="#FFFFFF" face="Verdana" size="2">Sendung</font></b></td>
  9.     </tr>
  10.     <tr>
  11.       <td width="600" colspan="4" bgcolor="#C0C0C0" height="5"><hr></td>
  12.     </tr>
  13.   </table> 
  14.  
  15.   </div>
  16.  
  17. <?php
  18. include ("config/db_config.php");
  19.  
  20. $select = "SELECT * FROM $table ORDER BY tag ASC, uhrzeit ASC";
  21. $result = mysql_query($select);
  22.  
  23. $wochentage[1] = "Montag";
  24. $wochentage[2] = "Dienstag";
  25. $wochentage[3] = "Mittwoch";
  26. $wochentage[4] = "Donnerstag";
  27. $wochentage[5] = "Freitag";
  28. $wochentage[6] = "Samstag";
  29. $wochentage[7] = "Sonntag";
  30.      
  31. //Ende Wochentag Array
  32.  
  33. $select2 ="SELECT * FROM $table WHERE sondersendung = 0";
  34. $result2 = mysql_query($select2);
  35.  
  36. while ($row = mysql_fetch_assoc($result))
  37.   {
  38.     $db_tag = $row['tag'];
  39.     $db_nickname = $row['nickname'];
  40.     $db_uhrzeit = $row['uhrzeit'];
  41.     $db_sendungsname = $row['sendungsname'];
  42.   $db_sondersendung = $row['sondersendung];
  43.  
  44.   ?>
  45.   <div align="center">
  46.  
  47.   <table border="1" width="600" style="border-collapse: collapse" id="table1" bgcolor="#8B4513">
  48.   <tr>
  49.  
  50.  
  51.   <td width="100" background="http://www.radio-mittelrhein.de/images/style/grayrat/heads1.gif">
  52.   <font color="#FFFFFF" face="Verdana" size="2"><?=$wochentage[$row['tag']];?></font></td>
  53.   <td width="100"><font color="#FFFFFF" face="Verdana" size="2"><?=$row['uhrzeit'];?></font></td>
  54.   <td width="150"><font color="#FFFFFF" face="Verdana" size="2"><?=$row['nickname'];?></font></td>
  55.    
  56.   <?php
  57.   if ($result2 == "1")
  58.   {
  59.   ?>
  60.   <td width="250"><font color="#000000" face="Verdana" size="2"><?=$row['sendungsname'];?></font></td>
  61.   <?php
  62.   }
  63.  
  64.   else
  65.   {
  66.   ?>
  67.   <td width="250"><font color="#ffffff" face="Verdana" size="2"><?=$row['sendungsname'];?></font></td>
  68.   <?php
  69.   }
  70.   ?>
  71.  
  72.   </tr>
  73.   </table>
  74.   </div>
  75.   <?php
  76.   } 
  77.   ?>

Aber so stellt´s mir natürlich alle Sendungsnamen entweder oder farblich da - Nicht nur den einen - Hmmmmm, ich hoffe, ich habs etwas verständlich rüberbringen können, wie ich mir das denke.

Hier mal das komplette Formulas, mit welchem die Daten an die DB übergeben werden

Code:
  1. <html>
  2. <head>
  3.  
  4. <script language="JavaScript">
  5.      
  6.       function pruefung(send)
  7.       {    
  8.           if(send.nickname.value.length < 1 )
  9.           {
  10.               alert("Bitte gib Deinen Nicknamen ein")
  11.               return false
  12.           }
  13.  
  14.        
  15.         if(send.tag.value.length < 1 )
  16.           {
  17.               alert("Bitte wähle einen Sendetag aus")
  18.               return false
  19.           }
  20.  
  21.        
  22.         if(send.uhrzeit.value.length < 1 )
  23.           {
  24.               alert("Bitte wähle eine Uhrzeit aus")
  25.               return false
  26.           }
  27.          
  28.          
  29.           if(send.sendungsname.value.length < 1 )
  30.           {
  31.               alert("Bitte gib einen Sendungsnamen an")
  32.               return false
  33.           }
  34.            
  35.           else alert("Dein Eintrag wird überprüft")
  36.             return true
  37.         }
  38. </script>
  39.  
  40. </head>
  41. <body>
  42.  
  43. <?php
  44. include ("config/db_config.php");
  45.  
  46. ?>
  47.  
  48. <form name="send" method="POST" onSubmit="return pruefung(this)"
  49. action="http://www.radio-mittelrhein.de/include.php?path=sendeplanscript/send.php">
  50.  
  51. <div align="center">
  52.  
  53. <table border="1" width="350" style="border-collapse: collapse">
  54.   <tr>
  55.     <td width="150" bgcolor="#8B4513"><b>
  56.   <font face="Arial" size="2" color="#FFFFFF">Nickname</font></b></td>
  57.     <td width="200"><input name="nickname" size="28"></td>
  58.   </tr>  
  59.  
  60.   <tr>
  61.     <td width="150" bgcolor="#8B4513"><b>
  62.   <font face="Arial" size="2" color="#FFFFFF">Tag</font></b></td>
  63.     <td width="200"><select size="1" name="tag">
  64.   <option value="1">Montag</option>
  65.   <option value="2">Dienstag</option>
  66.   <option value="3">Mittwoch</option>
  67.   <option value="4">Donnerstag</option>
  68.   <option value="5">Freitag</option>
  69.   <option value="6">Samstag</option>
  70.   <option value="7">Sonntag</option>
  71.   </select></td>
  72.   </tr>
  73.  
  74.   <tr>
  75.     <td width="150" bgcolor="#8B4513"><b>
  76.   <font face="Arial" size="2" color="#FFFFFF">Uhrzeit</font></b></td>
  77.     <td width="200"><select size="1" name="uhrzeit">
  78.   <option value="16-18 Uhr">16-18 Uhr</option>
  79.   <option value="18-20 Uhr">18-20 Uhr</option>
  80.   <option value="20-22 Uhr">20-22 Uhr</option>
  81.   <option value="22-00 Uhr">22-00 Uhr</option>
  82.   </select></td>
  83.   </tr>
  84.  
  85.   <tr>
  86.     <td width="150" bgcolor="#8B4513"><b>
  87.   <font face="Arial" size="2" color="#FFFFFF">Sendungsname</font></b></td>
  88.     <td width="200"><input name="sendungsname" size="28"></td>
  89.   </tr>
  90.  
  91.   <tr>
  92.     <td width="150" bgcolor="#8B4513"><b>
  93.   <font face="Arial" size="2" color="#FFFFFF">Sondersendung</font></b></td>
  94.     <td width="200"><font face="Arial">
  95.   <input type="radio" value="1" name="sondersendung"></font><font size="2" face="Arial">Ja</font><font face="Arial"><input type="radio" name="sondersendung" value="2" checked></font><font size="2" face="Arial">Nein</font></td>
  96.   </tr>
  97. </table>
  98. </div>
  99. <p align="center">
  100. <input type="submit" value="Absenden" name="B1"><input type="reset" value="Zurücksetzen" name="B2">
  101. </p>
  102. </form>
  103. </body>
  104. </html>
  105.  
  106. <?php
  107.  
  108.     $nickname          = (addslashes ($_POST ['nickname'] ));
  109.     $tag               = (addslashes ($_POST ['tag'] ));
  110.     $uhrzeit           = (addslashes ($_POST ['uhrzeit'] ));
  111.     $sendungsname      = (addslashes ($_POST ['sendungsname'] ));
  112.     $sondersendung     = (addslashes ($_POST ['sondersendung'] ));
  113.      
  114.  
  115.   $select = "SELECT tag, uhrzeit, nickname FROM $table WHERE tag = '".$tag."' AND uhrzeit = '".$uhrzeit."' ";
  116.   $result = mysql_query($select);
  117.  
  118.   if ($nickname == "" )
  119.   {
  120.   ?>
  121.   <div align="center">
  122.   <table border="1" width="350" style="border-collapse: collapse">
  123.   <tr>
  124.   <td bgcolor="#8B4513">
  125.   <p align="center"><b><font face="Arial" color="#FFFFFF" size="2">Willkommen im neuen Sendeplanformular</font></b></td>
  126.   </tr>
  127.   </table>
  128.   </div>
  129.   <b><font face="Arial" size="2">
  130.   <?php
  131.   }
  132.  
  133.   else
  134.   {
  135.    
  136.   while ($row = mysql_fetch_assoc($result))
  137.     {
  138.     $db_tag= $row['tag'];
  139.     $db_uhrzeit = $row['uhrzeit'];
  140.     $db_nickname = $row['nickname'];
  141.     }
  142.  
  143.     if ($tag == $db_tag & $uhrzeit == $db_uhrzeit )
  144.    
  145.     {
  146.     ?>
  147.     </font></b>
  148.     <div align="center">
  149.     <table border="1" width="350" style="border-collapse: collapse">
  150.     <tr>
  151.     <td bgcolor="#8B4513">
  152.   <p align="center"><b><font face="Arial" color="#FFFF00" size="2">Dieser Sendeplatz ist bereits von <? echo $db_nickname;?> belegt
  153.   !!</font></b></td>
  154.     </tr>
  155.     </table>
  156.     </div>
  157.     <b><font face="Arial" size="2">
  158.     <?php  
  159.     }
  160.  
  161.   else
  162.     {
  163.  
  164.     $eintrag = "INSERT INTO $table (nickname, tag, uhrzeit, sendungsname, sondersendung)
  165.     VALUES ('$nickname', '$tag', '$uhrzeit', '$sendungsname', '$sondersendung' )";
  166.  
  167.     mysql_query ($eintrag);
  168.  
  169.     ?>
  170.     </font></b>
  171.     <div align="center">
  172.     <table border="1" width="350" style="border-collapse: collapse">
  173.     <tr>
  174.     <td bgcolor="#8B4513">
  175.   <p align="center"><b><font face="Arial" color="#FFFFFF" size="2">Dein Eintrag wurde erfolgreich gespeichert</font></b></td>
  176.     </tr>
  177.     </table>
  178.     </div>
  179.  
  180.    
  181.     <?php
  182.     }
  183.     }
  184. ?>

Vorab vielen Dank für evtl. Tips

Greetz and nice weekend Smile


_________________

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

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



Anmeldedatum: 05.11.2007
Beiträge: 107
Wohnort: Aachen

BeitragVerfasst am: Sa 28 März, 2009 19:55    Titel: Antworten mit Zitat

Du holst ja schon den Wert der Spalte aus der DB und speicherst ihn in $db_sondersendung. Jetzt musst du eigentlich nurnoch diese Variable auslesen und wenn sie 1 ist gibst du den HTML Code für die Farbe aus, sonst eben nicht.

Php:
  1. <?php
  2. if($db_sondersendung == 1) echo 'color="#FF0000"';
  3. ?>

$result2 auf 1 zu überprüfen macht keinen Sinn, da diese Variable eine MySQL Resource beinhaltet und keine Zahl. Hier wird also nie das rauskommen, was du erwartet hast Wink

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



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

BeitragVerfasst am: Sa 28 März, 2009 21:06    Titel: Antworten mit Zitat

@M - Vielen Dank für die schnelle Antwort.

Muss ich

Code:
  1. if($db_sondersendung == 1) echo 'color="#FF0000"';

in mein HTML-Konstrukt einbauen?? Ich verstehe das im Moment nicht wirklich, da ich ja die Schriftfarbe im td angebe - Und ist das Resultat dann nicht dieses, dass dann zwischen den td´s 'color="#FF0000"' als text angezeigt wird?

Sorry, im Mom. bin ich nicht wirklich heavy on wire :S


_________________

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
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
Seite 3 von 4

 
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.