Monday, May 20th 2013, 4:06am UTC+2

You are not logged in.

  • Login
  • Register

Nico-X

Beginner

Posts: 25

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 2

OS: CentOS

Plugin Version: 1.4.15

NDO Version: 1

1

Monday, April 4th 2011, 11:02am

PHP Dropdown

Hey Leute,

hab folgendes PHP Problem:
Ich habe eine Datenbank aus der ich dynamisch die Werte in ein Dropdownmenü schreibe, nun möchte ich das der Wert nach dem Submit noch erhalten bleibt.
Ich habe auch schon einige Lösungsansätze probiert (z.B Post u. Session), doch es hat noch nichts geklappt.

Mein Code sieht wie folgt aus:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form action="config.php" method="post">
    <select name="host_object_id">
        <?  $result mysql_query("Select display_name, host_object_id from nagios_hosts");
            while ($i mysql_numrows($result))
            {
             
              echo "<option value = '".mysql_result($result$i'host_object_id')."'>".mysql_result($result$i'display_name')."</option>";
              $i++;
            }
  
        ?>
    </select>
         <input type="submit" value="bestaetigen">
    </form>


Hoffe jemand kann mir helfen.

Mit freundlichen Grüßen
Nico

Bastian Kuhn

Professional

Posts: 799

Gender: male

Location: München

Occupation: Berater/ Entwickler am besten Monitoring System der Welt :)

Number of monitoring servers: 8

Hobbies: Jiu Jitsu, Klettern, MTB, Reisen

Nagios Version: OMD/CMK GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: >5.000

Number of services: >95.000

OS: Linux, AIX, Windows

Plugin Version: OMD/CMK GIT

2

Monday, April 4th 2011, 11:15am

Zuerstmal fehlen dir beim value Attribut die Anführungszeichen :-)

Vorselektieren kannst du mit dem Attribut selected -> http://de.selfhtml.org/html/formulare/au…n_vorselektiert

Jetzt musst nur noch dafür sorgen das es nur an der Richtigen stelle steht, was z.B. mit folgender Bedingung geht:

PHP Source code

1
$temp_var = (mysql_result($result$i'host_object_id') == $_POST['host_object_id']) ? "selected" "" 


$temp_var dann einfach

PHP Source code

1
 echo "<option value = '".mysql_result($result$i'host_object_id')."' $temp_var>".mysql_result($result$i'display_name')."</option>";


Aber:

Warum arbeitest du eigentlich nicht mit mysql_fetch_object

PHP Source code

1
2
3
4
while($erg mysql_fetch_object($result)
{
  echo "<option value=\"$erg->host_object_id\"'>$erg->display_name</option>";
}


ist doch schöner?

Nico-X

Beginner

Posts: 25

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 2

OS: CentOS

Plugin Version: 1.4.15

NDO Version: 1

3

Monday, April 4th 2011, 12:07pm

Vielen Dank, Du hast mir meinen Tag gerettet.
Ich wollte eigentlich mit mysql_fetch_object arbeiten, aber mir wurde empfohlen es anders zu machen.

Mit freundlichen Grüßen
Nico

Posts: 2

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 200

Number of services: 5

OS: Debian

Plugin Version: 3.2.3

NDO Version: 1

4

Thursday, April 28th 2011, 9:10am

Guten Morgen,

Ich würde an deiner Stelle mit mysql_fetch_row() arbeiten. Dadurch wird dein Skript bedeutend schneller abgearbeitet. Wenn du eine bessere Übersicht benötigst, empfehle ich dir mysql_fetch_assoc(), da hierbei die Tabellennamen im Array mit enthalten sind.

Grüße Nico