Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Radiobutton und Input-Text zu While-sql-Abruf validieren

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von thetrainsaysnoobnoob, 27 Januar 2014.

  1. thetrainsaysnoobnoob

    thetrainsaysnoobnoob Neuer Benutzer

    Hallo zusammen,
    ich möchte mehrere Radiobuttons und ein inut-type="text" zu dem sich jeweilig in der Zeile befindlichen Datensatz validieren, sobald der "submit" Button gecklickt wurde. Der Primärschlüssel zum Datensatz ist "id"($row->id). Es soll nur der ausgewählte Radiobutton und das Textfeld zum Datensatz gültigkeit bekommen.

    "validate.php" soll die auszführende Datei sein welche die Objekte miteinander referieren lässt(mit dessen Inhalt ich mich sehr schwer tue...).

    Leider weiß ich nicht wie ich das machen soll und brauche hierbei Hilfe.


    seesomething.php
    Code:
    <?php
    require("connect.php");
    require("validate.php");
    
    $query = mysql_query("SELECT id, ... FROM table ")
    ?>
    <form action="" method="post">
    
    <?php
    while($row = msql_fetch_object($query)){
        echo "
        <table>
            <tr>
                <td>$row->id</td>
                <td><input type='radio' name='validateme' value='1'></td>
                <td><input type='radio' name='validateme' value='2'></td>
                <td><input type='radio' name='validateme' value='3'></td>
                <td><input type='radio' name='validateme' value='4'></td>
                <td><input type='radio' name='validateme' value='5'></td>
                <td><input type='text' name='validateme_too'></td>
            </tr>
        </table>";
    }
    ?>
    
    <table>
        <tr>
            <td><input type="submit" name="submit"></td>
        </tr>
    </table>
    
    </form>
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Du hast Dich scheinbar verlaufen, das hier ist KEIN PHP-Forum.

    Aber damit Du nicht ganz umsonst hier bist: die PHP-Extension mysql ist veraltet, nutze mysqli oder PDO oder halt 'ne richtige Datenbank.
     
  3. thetrainsaysnoobnoob

    thetrainsaysnoobnoob Neuer Benutzer

    Vielen Dank für die Info. Mir ist klar das es kein PHP-forum ist, vielleicht weiss ja trotzdem jemand in etwa einen Lösungsansatz. Ob mysql veraltet ist, ist für mich eher sekundär.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Deine Beschreibung "Objekte miteinander referieren lässt(mit dessen Inhalt ich mich sehr schwer tue...)" reicht nicht aus zu erkennen, was Du da tust. Dazu müßte man die Struktur der Tabellen kennen, und bei MySQL auch die Engine. Blackhole z.B. kennt keine referrentielle Integrität.

    Daß mysql deprecated ist wird für Dich beim Umstieg auf künftige PHP-Versionen primär zum Problem.
     
  5. akretschmer

    akretschmer Datenbank-Guru

    Nicht Dein Tag heute, gell? Erst ich hier und dann noch Watschen in 2 anderen Foren wegen Crossposting ;-)

    Versuch mal:

    • Dein Problem einzugrenzen, entweder PHP oder DB. Das wird in Summe aus allen Foren nicht klar
    • Kein Crossposting!
    • und zeig, was Du versuchst hast.

    Du knallst einfach ein halbgares Formular hin und erwartest, daß andere a) erraten, was Du genau willst und b) es auch noch machen.

    Suchst Du eine Validierung in der Applikation oder in der DB? Was hast bisher versucht, was ist das genaue Problem?


    Falls es Validierung über die DB ist kannst gern wieder herkommen, ansonsten suche Dir eines der PHP-Foren raus, wo Du schon warst.
     
  6. Hony%

    Hony% Datenbank-Guru

    Hi.

    Unabhängig davon wie du Das umsetzen willst; wird irgendwie nicht so ganz klar was du eigentlich bezweckst. Sollen sich die Daten in bestimmten Wertebereichen befinden? Und wenn ja, hat das trotz MySQL nichts mit PHP zu tun sondern wäre Aufgabe der Datenbank.

    Gruß
    Hony
     
  7. akretschmer

    akretschmer Datenbank-Guru

    Check-Constraint in der DB? Sowas wie:

    Code:
    test=# create table blafasel (i int check (i between 1 and 10));
    CREATE TABLE
    
    ? Er hat MySQL, er muß das in der Applikation machen, aufgrund der massiven Behinderungen von MySQL...
     
  8. Hony%

    Hony% Datenbank-Guru

    Wenn der Wertebereich überschaubar ist könnte er ENUM nutzen. Dreckig aber machbar.

    Nachtrag: Alternativ könnte noch eine Hilfstabelle mit Fremdschlüsselbeziehung funktionieren. Aber Krücke bleibt Krücke.
     
    Zuletzt bearbeitet: 27 Januar 2014
  9. thetrainsaysnoobnoob

    thetrainsaysnoobnoob Neuer Benutzer

    Doch, war n super Tag heute... Ich wusste nicht dass Crosscripting sowas böses ist; bis heute kannte ich den Begriff nicht.
    Das Script soll folgendes können, bzw. soll ähnlichen Code enthalten(Entschuldigt bitte, dachte eigentlich dass das aus dem Post hervor geht):

    Bei Click auf den submit-Button soll ausgegenben werden " Du hast -Radiobutton- angewählt und -das- zu diesem Eintrag($row->id) eingeben.

    Etwa so(das angeführte Beispiel funktioniert so nicht und ist der Grund warum ich hier die Frage stelle):

    validate.php

    Code:
    <?php
    if (isset($_POST["submit"])){
        if ($_Post["validateme"]=1){
        // An dieser stelle habe ich keine Ahnung wie ich
        // genau diesen Radiobutton zu dem entsprechenden
        // Eintrag mit $row->id validieren soll, dasselbe
        // Problem habe ich mit dem input-text-feld
    
        echo "Der ausgewählte Button ist ".$_Post["validateme"]=1." zu " .$row->id." und dein Eintrag lautet: ".$_Post["validateme_too"];
        }
    
    }
     
    Zuletzt bearbeitet: 28 Januar 2014
  10. Hony%

    Hony% Datenbank-Guru

    Du lässt an mehreren Stellen fremde Menschen Zeit und Arbeit in dein Problem investieren. Das ist erst mal nicht schlimm; da es sich um Freiwillige handelt. Wenn du das aber gleichzeitig(!) an mehreren Stellen zum gleichen Thema machst stiehlst du den Helfern ihre Zeit. Weil sich viele Leute mit dem gleichen Problem beschäftigen ohne auf die bereits an anderer Stelle erarbeiteten Informationen zurück greifen zu können. Böse würde ich das nicht nennen. Eher asoziales Schmarotzertum.

    Für mich wird hier einfach nicht klar was das jetzt mit der Datenbank zu tun hat. Für deine Anforderungsbeschreibung ist im Grunde nicht einmal eine Datenbankverbindung notwendig. Da du aber anscheinend nicht versuchst ein SQL-Query zu generieren bist du hier vermutlich eh falsch.

    Gruß
    Hony
     
  11. thetrainsaysnoobnoob

    thetrainsaysnoobnoob Neuer Benutzer

    Der 1.Teil der seesomething.php:
    Code:
    <?php
    require("connect.php");
    require(lidat"vae.php");
    $query = mysql_query("SELECT id, ... FROM table ");
    ?>
    Es ist eine Abfrage notwendig, da es sich um mehr als einen Eintrag handelt und mehr als die id des Eintrags gezeigt werden; ist für meine Problemstellung aber nicht relevant. Wäre nett wenn man sich das Problem nochmal genauer anschaut. Daraufhin soll auch etwas mit einer Tabelle passieren; dass ist jedoch etwas was ich auch hinbekomme.
     
  12. Hony%

    Hony% Datenbank-Guru

    Liefert die Abfrage die gewünschten Informationen? Nein? Dann musst du schon konkreter werden.

    Das UPDATE/INSERT/DELETE macht also auch keine Probleme?

    Wenn dein Problem zwischen den beiden Abfragen liegt bist du hier falsch und solltest dich an das PHP-Forum deiner Wahl wenden. Die nebulöse Beschreibung deines streng geheimen? Projekts wird dir da aber vermutlich auch nicht weiter helfen.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden