Ergebnis 1 bis 10 von 10

Thema: PHP,Tabelle, mySQL

  1. #1
    Blub
    Gast

    Ausrufezeichen PHP,Tabelle, mySQL

    Hallo,

    ich habe folgendes Problem. ich habe Datensätze in einer Datenbank mit ID,Vorname,Nachname,admin(admin ist 0 oder 1)


    ich gebe die tabelle über php aus. dabei möchte ich gerne das wenn die person admin ist in der checkbox ein haken son soll und wenn nicht dann halt der haken nicht da ist.

    außerdem wenn ich eine anderen person ebendfalls zum admin machen möchte, auf die checkbox klicken kann und dann auf den button freischalten und das es in der DB geändert wird. aber halt nur bei dieser einen person und da muss ich dann ja irgendwie die id aus der zeile zur variablen machen damit er ne eindeutige zuordnung hat.

    ich hoffe ihr wisst was ich meine. würde mich über hilfe sehr freuen.

    danke
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP,Tabelle, mySQL

    Der einfachste Weg ist wohl über Array-Namen, du kannst machn:
    Code:
    <input type="checkbox" name="admin[iddesnutzers]"/>
    Die id kannst du bei der Ausgabe in der Tabelle dort einfügen.
    In PHP geht es dann ganz einfach:
    PHP-Code:
    foreach($_POST['admin'] as $adminid => $egal)
    {
      
    machAdmin($adminid);

    Pass nur auf, dass die IDs gültig sind.

  3. #3
    Blub
    Gast

    Standard AW: PHP,Tabelle, mySQL

    also bei mir sieht das mit der ausgabe so aus(sry aber ich weiß nicht wie man das macht das man es als code anzeigt:

    echo '<form action="freischalten.php" method="POST">
    <table border="1" width="400px">
    <tr><td>ID</td>
    <td>Benutzername</td>
    <td>E-Mail</td>
    <td>Frei</td>
    <td>Freischalten</td>
    <tr>';

    while($row=mysql_fetch_array($result))
    {
    echo "<tr><td>".$row["id"]."</td>";
    echo '<td>'.$row["benutzername"].'</td>';
    echo '<td>'.$row["email"].'</td>';
    echo '<td>'.$row["frei"].'</td>';
    echo '<td><input type="checkbox" name="frschalten" id="frschalten"></td>';
    }

  4. #4
    Blub
    Gast

    Standard AW: PHP,Tabelle, mySQL

    wobei freischalten halt admin ist. habe ich noch nicht geändert ^^

  5. #5
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP,Tabelle, mySQL

    Erstmal HTML-technisch:
    Du darfst nicht mehrere Elemente mit der selben id verpassen, wenn dann nimm class.
    PHP:
    Du ersetzt beim Namen einfach frschalten durch "frschalten[' . $row['id'] . ']". Auf die Auswahl kannst du dann wie auf ein Array zugreifen, so wie es oben steht. Außerdem solltest du durchgehend ' an Stelle von " verwenden und den Code einrücken.

    Viele liebe Grüße
    The User

  6. #6
    Bandit
    Gast

    Standard AW: PHP,Tabelle, mySQL

    Ungetestet:
    PHP-Code:
    <?php
       
    @mysql_connect("localhost""user""passwort")
         or die (
    "Connection failed");
     
       @
    mysql_select_db("datenbank")
         or die (
    "Database not found");
     
       
    $query "Select
                    `id`,
                    `benutzername`,
                    `frei`,
                    `email`,
                    `admin`
                  from
                    `tabelle`
                  order by
                    `benutzername` desc"
    ;
     
        
    $result mysql_query($query)
           or die (
    "MySQL-Error: " mysql_error());
     
        echo 
    "<form action='freischalten.php' method='POST'>
               <table border='1' width='400px'>
                <tr>
                 <td>ID</td>
                 <td>Benutzername</td>
                 <td>E-Mail</td>
                 <td>Frei</td>
                 <td>Freischalten</td>
               <tr>"
    ;
     
        while(
    $row mysql_fetch_array($result))
        {
           
    $checked = ($row['admin'] == 1) ? "checked=checked" "";
     
           echo 
    "<tr>
                  <td>" 
    $row["id"] . "</td>
                  <td>" 
    $row["benutzername"] . "</td>
                  <td>" 
    $row["email"] . "</td>
                  <td>" 
    $row["frei"] . "</td>
                  <td><input type='checkbox' name='admins[" 
    $row["id"] . "]' class='freischalten' $checked></td>
                </tr>\n"
    ;
        }
     
        echo 
    "</table>";
    ?>
    PHP-Code:
    <?php
       
    // freischalten.php
       
    print_r($_POST['admins']);
     
       @
    mysql_connect("localhost""user""passwort")
         or die (
    "Connection failed");
     
       @
    mysql_select_db("datenbank")
         or die (
    "Database not found");
     
       
    $query "update 
                   tabelle
                  set
                   admin=0"
     
       
    mysql_query($query)
         or die (
    "MySQL-Error: " mysql_error());
     
       foreach(
    $_POST['admins'] as $key => $id)
       {
           
    $query "update 
                        tabelle
                      set
                        admin=1
                      where
                        id=
    $key";
     
           
    mysql_query($query)
             or die (
    "MySQL-Error: " mysql_error());
       }
     
       echo 
    "Ready";
    ?>
    <edit>
    http://www.php.de/php-einsteiger/544...p-tabelle.html Immer diese Leute, die ihre Fragen in vielen Foren verteilen
    </edit>
    Geändert von bandit600 (25.04.2009 um 19:01 Uhr)

  7. #7
    Blub
    Gast

    Standard AW: PHP,Tabelle, mySQL

    hey Bandit,

    danke für deine ausführliche antwort =) aber es geht nicht so 100%ig
    und zwar in der zeile:
    [Zitat]$checked = ($row['admin'] == 1) ? "checked=checked" . "";[/Zitat]

    dort sagt er mir syntax error wegen des simikolons am ende =/
    habe auch alles was mir so eingefallen ist ausprobiert aber hab es nicht hin bekommen. wäre dir an der stelle für deine hilfe noch mal recht dankbar

  8. #8
    Blub
    Gast

    Standard AW: PHP,Tabelle, mySQL

    ist nur hier und im php forum. hatte hier ja ersta gefragt und dann meinte nen kollege ich sollte mal im php.de forum fragen weil da viele sind die das so aus dem ärmel schütteln. tun sie vielleicht auch aber es geht nicht wirklich

  9. #9
    Bandit
    Gast

    Standard AW: PHP,Tabelle, mySQL

    Der Punkt ist falsch, so sollte es gehen:

    PHP-Code:
    $checked = ($row['admin'] == 1) ? "checked=checked" ""

  10. #10
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP,Tabelle, mySQL

    Dann probier mal aus, den . durch einen : zu ersetzen und schau dir an, wie der ? : -Operator funktioniert.

Ähnliche Themen

  1. Readonly tabelle (mysql)
    Von jojo87 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 31.03.2009, 14:59
  2. PHP / MySQL -> aus Tabelle in Datenbank
    Von driver im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 02.07.2008, 16:18
  3. MYSQL Tabelle aus CSV Datei erzeugen
    Von 00eraser00 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 14.05.2008, 14:47
  4. MySQL Werte von Tabelle a in Tabelle b eintragen.
    Von Barret im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 08.02.2007, 11:42
  5. mySQL tabelle anlegen...
    Von SonicChriz im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 14.10.2005, 21:43

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •