php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-03-2008, 16:15
Torfu
 Newbie
Links : Onlinestatus : Torfu ist offline
Registriert seit: Mar 2008
Beiträge: 8
Torfu ist zur Zeit noch ein unbeschriebenes Blatt
Standard radiobutton datenbank

Hallo!

Ich zerbreche mir schon Stundenlang meinen Kopf darüber wie ich es lösen kann, dass ich die Radiobuttonabfrage (die ich in dem Fall dringend brauche, da es zwischen Lieferant und Kunden unterscheidet) hinbekomme. Dazu habe ich mir gedacht füge ich in der Tabelle einfach ein Flag ein, das den Wert des Buttons übernimmt.
Mein Problem dabei ist aber, dass dann alle in der Tabelle befindlichen Flags mit dem einem überschrieben werden.
Die ganzen Werte für die Tabelle werden in der selben php datei eingegeben und eingefügt.

PHP-Code:
   <br>
    Ich m&ouml;chte:
    <label>
      <input type="radio" name="radio" id="anbieten" value="2" />
      Ress anbieten</label>
    <label>
      <input type="radio" name="radio" id="bestellen" value="1" checked />
      Ress bestellen</label><br>
    <input type="submit" name="Bestellung" id="button" value="Senden"/>
    <input type='hidden' name='speichern' value='speichern'>
  </p>
</td>
        </tr>
    </table>
</form>
<?php

include("connect.php");

  
$user $_COOKIE["dblogin"];
  
$ti $_POST["Titan"];
  
$si $_POST["Silicium"];
  
$na $_POST["Nahrung"];
  
$he $_POST["Helium"];
  
$wa $_POST["Wasser"];
  
$ba $_POST["Bauxit"];
  
$al $_POST["Aluminium"];
  
$ur $_POST["Uran"];
  
$pl $_POST["Plutonium"];
  
$ws $_POST["Wasserstoff"];
  
$cr $_POST["Credits"];
  
  
$eintrag "INSERT INTO Ress (User, Titan, Silicium, 
Helium, Nahrung, Wasser, Bauxit, Aluminium,
 Uran, Plutonium, Wasserstoff, Credits) 
VALUES ('$user', '$ti','$si', '$he', 
$na, $wa, $ba, $al, $ur, $pl, $ws, $cr)"
;
  
$eintragen mysql_query($eintrag);

if(isset(
$speichern)){
    if(
$radio == "1")
    {
        
mysql_query ("UPDATE Ress SET Flag='1'");
    }
    if(
$radio == "2")
    {
        
mysql_query ("UPDATE Ress SET Flag='2");
    }
}  

?>
</body>
</html>
Mit Zitat antworten
  #2 (permalink)  
Alt 18-03-2008, 16:19
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Mein Problem dabei ist aber, dass dann alle in der Tabelle befindlichen Flags mit dem einem überschrieben werden.
und wieviele gibt es davon? ein WHERE würde da weiterhelfen.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 18-03-2008, 19:08
Torfu
 Newbie
Links : Onlinestatus : Torfu ist offline
Registriert seit: Mar 2008
Beiträge: 8
Torfu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also es gibt 1 spalte die Flag heißt. Für jeden Eintrag der über das Formular erstellt wird soll auch das Flag dementsprechend gesetzt werden.

Die Spalte Flag soll 2 Zustände (Flag=1 oder Flag=2) besitzen.

wenn ich es so mit where mache:

PHP-Code:
if(isset($speichern)){
    if(
$radio == "1")
    {
        
mysql_query ("UPDATE Ress SET Flag='1' where id='$id'");
    }
    if(
$radio == "2")
    {
        
mysql_query ("UPDATE Ress SET Flag='2 where id='$id'");
    }
}  

?> 
Bleibt das Flag 0 was standardmäßig(von der db her) eingestellt ist.
Ich müsste erst die Daten ins Formular eingeben und absenden damit ich die id überhaupt von der Tabelle abfragen kann...

Kann ich alles zusammen überhaupt in nur einer php file machen?
Mit Zitat antworten
  #4 (permalink)  
Alt 18-03-2008, 19:53
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo,


Warum überhaupt ein nachträgliches UPDATE?

PHP-Code:
<label>
      <input type="radio" name="auswahl" id="anbieten" value="2" />
      Ress anbieten</label>
    <label>
      <input type="radio" name="auswahl" id="bestellen" value="1" checked />
      Ress bestellen</label><br>

<?php

include("connect.php");
 
  
$aw $_POST["auswahl"];
  
$user $_COOKIE["dblogin"];
  
$ti $_POST["Titan"];
  
$si $_POST["Silicium"];
  
$na $_POST["Nahrung"];
  
$he $_POST["Helium"];
  
$wa $_POST["Wasser"];
  
$ba $_POST["Bauxit"];
  
$al $_POST["Aluminium"];
  
$ur $_POST["Uran"];
  
$pl $_POST["Plutonium"];
  
$ws $_POST["Wasserstoff"];
  
$cr $_POST["Credits"];
  
  
$eintrag "INSERT INTO Ress (User, Titan, Silicium, 
Helium, Nahrung, Wasser, Bauxit, Aluminium,
 Uran, Plutonium, Wasserstoff, Credits, auswahl) 
VALUES ('$user', '$ti','$si', '$he', 
$na, $wa, $ba, $al, $ur, $pl, $ws, $cr, $aw)"
;
  
$eintragen mysql_query($eintrag);
?>
Oder irre ich da so sehr?
Mit Zitat antworten
  #5 (permalink)  
Alt 18-03-2008, 20:03
Torfu
 Newbie
Links : Onlinestatus : Torfu ist offline
Registriert seit: Mar 2008
Beiträge: 8
Torfu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du hast recht, das update nachher war total unnötig ^^

Danke vielmals für eure Hilfe!
Mit Zitat antworten
  #6 (permalink)  
Alt 18-03-2008, 22:28
Torfu
 Newbie
Links : Onlinestatus : Torfu ist offline
Registriert seit: Mar 2008
Beiträge: 8
Torfu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hab da eine andere Frage die(indirekt) auch mit diesem Thema zu tun hat.

Wie kann ich die Farbe der ausgegebenen Tabellenzeile in Abhängigkeit vom Flag ändern?
(bei Flag=1 soll die Zeile orange sein, bei Flag=2 soll sie grün sein)

Hab da folgende Ausgabe:

PHP-Code:
//Abfrage machen
$query "SELECT * FROM Ress";
$insert mysql_query($query);
while(
$datensatz mysql_fetch_assoc($insert))
{
    
//Tabelle ausgeben

//Bezeichnungen
$res mysql_query("select * from Ress");
$cols mysql_num_fields($res);

echo 
"<tr bgcolor=\"#CCCCCC\">\n";
for(
$i=0;$i $cols ;$i++){
   echo 
"<td>".mysql_field_name($res$i)."</td>\n";
}    
echo 
"</tr>\n";

//Ausgabe der Werte
foreach($datensatz as $key => $value)
{
print 
"\t<td>".stripslashes($value)."</td>\n";

Ich hab es bereits mit einer if-Abfrage probiert, es ist jedoch dann alles in einer Farbe geblieben.

PHP-Code:
//Abfrage machen
$query "SELECT * FROM Ress";
$insert mysql_query($query);
while(
$datensatz mysql_fetch_assoc($insert))
{

$farbe=mysql_query ("select `Flag` from lieferung");

if(
$farbe "1")    
{
    echo 
"<tr bgcolor=\"#DF8418\">\n";
}

echo 
"<tr bgcolor=\"#18DF18\">\n";

$res mysql_query("select * from Ress");
$cols mysql_num_fields($res);

for(
$i=0;$i $cols ;$i++){
   echo 
"<td>".mysql_field_name($res$i)."</td>\n";
}    
echo 
"</tr>\n";

//Werteausgabe

echo "<tr>";

foreach(
$datensatz as $key => $value)
{
print 
"\t<td>".stripslashes($value)."</td>\n";

Mit Zitat antworten
  #7 (permalink)  
Alt 18-03-2008, 22:33
Manko10
 Newbie
Links : Onlinestatus : Manko10 ist offline
Registriert seit: Mar 2008
Beiträge: 115
Manko10 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

zuerst einmal solltest du die Spalte für Flag 2 in den else-Zweig setzen, ansonsten werden bei Flag 1 beide ausgegeben.
Dann solltest du nicht das Attribut bgcolor="..." verwenden, sondern das Attribut class (class="flag1", class="flag2"). Das ganze formatierst du dann per CSS:
Code:
tr.flag1 td {
    background-color:#df8418;
}
tr.flag2 td {
    background-color:#18df18;
}
Mit Zitat antworten
  #8 (permalink)  
Alt 18-03-2008, 22:45
Torfu
 Newbie
Links : Onlinestatus : Torfu ist offline
Registriert seit: Mar 2008
Beiträge: 8
Torfu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für deine Antwort, aber ich weiß leider nicht wie ich

Zitat:
sondern das Attribut class (class="flag1", class="flag2"). Das ganze formatierst du dann per CSS:

code:tr.flag1 td {
background-color:#df8418;
}
tr.flag2 td {
background-color:#18df18;
}
einbinden soll. Die hintergrundänderung für Flag=2 hab ich jetzt in den else zweig gschrieben. Jedoch werden immernoch beide Zeilen mit der selben Farbe ausgegeben.(obwohl sie unterschiedliche Flags haben)

Mein Code sieht jetzt insgesamt so aus:

PHP-Code:
<style type="text/css"> 
tr.flag1 td {
    background-color:#df8418;
}
tr.flag2 td {
    background-color:#18df18;
}
</style>

<?php 
include("connect.php");
echo 
"Es liegen folgende Resourcenanfragen/angebote vor:<br>";
echo 
"Resourcenanfragen sind BLAU<br>";
echo 
"Resourcenangebote sind GRÜN<br>";



//Öffnen Tag der Tabelle ausgeben
echo "<table>";

//Abfrage machen
$query "SELECT * FROM Ress";
$insert mysql_query($query);
while(
$datensatz mysql_fetch_assoc($insert))
{

$farbe=mysql_query ("select `Flag` from lieferung");

if(
$farbe "1")    
{
    echo 
"<tr bgcolor=\"#DF8418\">\n";
}
else
{
echo 
"<tr bgcolor=\"#18DF18\">\n";
}
//Bezeichnungen die über den werten stehen(Titan,Silizium usw.)
$res mysql_query("select * from Ress");
$cols mysql_num_fields($res);

for(
$i=0;$i $cols ;$i++){
   echo 
"<td>".mysql_field_name($res$i)."</td>\n";
}    
echo 
"</tr>\n";

//Werteausgabe, also erst eine neue Zeile machen:

echo "<tr>";
//Hier deine Ausgabe:
foreach($datensatz as $key => $value)
{
print 
"\t<td>".stripslashes($value)."</td>\n";
}

//liefer-spalte
echo "<td><a href='bestaetigung.php?id={$datensatz['id']}&flag={$datensatz['Flag']}'>"?>
 <img src='../img/f21.jpg'> </a></td>

<? echo "<td><a href='delete.php?id={$datensatz['id']}'>"?>
<img src='../img/f18.jpg'> </a></td>
<? echo "</tr>";
}

//Schliessen Tag der Tabelle ausgeben
echo "</table>";
Mit Zitat antworten
  #9 (permalink)  
Alt 18-03-2008, 22:55
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
if($farbe "1"
was ist denn das bitteschön? das ist ja wohl falsch. informier dich mal über vergleichsoperatoren!

greuß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #10 (permalink)  
Alt 18-03-2008, 23:00
Manko10
 Newbie
Links : Onlinestatus : Manko10 ist offline
Registriert seit: Mar 2008
Beiträge: 115
Manko10 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Oja, glatt übersehen.
Aber noch etwas: die schönen CSS-Angaben kannst du dir sparen, wenn du immer noch bgcolor verwendest.
Mit Zitat antworten
  #11 (permalink)  
Alt 18-03-2008, 23:04
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
wenn du immer noch bgcolor verwendest
das kommt noch hinzu!

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #12 (permalink)  
Alt 18-03-2008, 23:23
Torfu
 Newbie
Links : Onlinestatus : Torfu ist offline
Registriert seit: Mar 2008
Beiträge: 8
Torfu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

oha da hab ich in der hektik glatt das zweite = vergessen.
nunja aber dadurch wirds auch nicht besser, jetzt ist es halt nur in der anderen farbe.

Danke für die Hinweise, habt ihr vll noch eine Idee wie ich es ändern muss um die Farben nicht gleich zu haben?
Mit Zitat antworten
  #13 (permalink)  
Alt 18-03-2008, 23:38
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

ja, mit einem vernünftigen debugging

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #14 (permalink)  
Alt 18-03-2008, 23:39
Manko10
 Newbie
Links : Onlinestatus : Manko10 ist offline
Registriert seit: Mar 2008
Beiträge: 115
Manko10 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Suchet, so werdet ihr finden.

Ich denke, das haben wir dir oft genug erklärt. Lies dir am besten nochmal die obigen Posts genau durch.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:42 Uhr.