php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.08.2010, 14:24  
Neuer Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 4
PHP-Kenntnisse:
Anfänger
orionzrh befindet sich auf einem aufstrebenden Ast
Standard Dropdown Liste

Hallo zusammen,
ich bin in den Anfängen meiner PHP Kariere und bräuchte eure Hilfe. Ich habe eine Dropdown Liste von Servern erstellt und würde nun gerne nach dem Auswählen eines Servers aus der Liste die dementprechende Abfrage aus einer anderen Tabelle mit Fehlermeldungen machen.
Diese sollte dann unterhalb der Dropdownliste angezeigt (generiert werden).

Dropdownliste:
PHP-Code:
$print .= '<!-- HTML form opening -->
<form name="alerts distinct hosts" action="action" method="post">
                    <select name="hostname">'
;

    
$A 0;
    while (
$A mysql_numrows($all_hosts)){
        for (
$i 0$i < (mysql_numrows($all_hosts)); $i++){
            
$print .= '<option name="Hostlist" value='.$hos[$A].' onchange")">'.$hos[$A].'</option>"/n';
            
$A++;
        }
    }
    
    
$print .= '<!-- HTML form closing -->
                </select>'
;
    
$print .= '</form>'
Tabelle für FehlerListe die ich in einer separaten PHP datei habe:
PHP-Code:
$result mysql_query("SELECT DISTINCT HA.Agent_Name,HA.Event_Time,HA.Alert_State,HA.Event_Type,HA.Alert_Text,HA.AlertID,HB.Clear_Reason,HB.Event_Time, HB.Event_Type FROM 
                                (SELECT * from HawkAlertClearInfo
                                    WHERE Event_Type = 'onAlert'
                                    AND Agent_Name = 'FR09219-rmds01'
                                    ORDER BY Event_Time DESC
                                    LIMIT 30
                                )
                            HA LEFT JOIN HawkAlertClearInfo HB 
                            ON (HA.Agent_Name = HB.Agent_Name
                            AND HA.AlertID = HB.AlertID
                            AND HB.Event_Type not like 'onAlert')
                            WHERE HA.Event_Type not like 'onClear'"
)
                            or die (
"Query does not work as it should");


##############################
//Tabelle aufbauen

if(!isset($print)){
    
$print .= ' ';
    }

    
$print .= '<h1>Alerts</h1>';
    
$print .= '<table width="100%">';
    
$print .= '<tbody>';

    
$print .= '<tr>';

    
$print .= '<th align="left" width="100px">Host</th>';

    
$print .= '<th align="left" width="120px">Time</th>';
    
$print .= '<th align="left">ID</th>';

    
$print .= '<th align="left" width="100px">state</th>';

    
$print .= '<th align="left">Alert</th>';



    
$print .= '</tr>';

    

    while(
$row mysql_fetch_assoc($result)){

        
$print .= '<tr>';

        
$print .= '<td align="left">'.$row['Agent_Name'].'</td>';

        
$print .= '<td align="left">'.$row['Event_Time'].'</td>';
        
$print .= '<td align="left">'.$row['AlertID'].'</td>';

        
$print .= '<td align="left">'.$row['Alert_State'].'</td>';

        
$print .= '<td align="left">'.$row['Alert_Text'].'</td>';

        }

        
$print .= '</tr>';

    

    
$print .= '</tbody></table>';



print 
$print;



mysql_close($mysqlcon); 
Wie kriege ich das hin? Müsste ich das irgendwie mit AJAX machen?

Herzlichen Dank
orionzrh ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.08.2010, 14:35  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Versuche bitte erstmal, deinen aktuellen Code etwas aufzuräumen.

PHP-Code:
            $print .= '<option name="Hostlist" value='.$hos[$A].' onchange")">'.$hos[$A].'</option>"/n'
Das kann ja jetzt schon nicht funktionieren bzw. ergibt alles andere als valides HTML. Was versuchst du da?

Die while-Schleife um die for-Schleife ist auch unsinnig, wie kommst du auf so etwas? Entscheide dich für eine von beiden Varianten.

Also bevor du dich mit AJAX befasst würde ich dir raten, HTML und PHP erstmal besser zu verstehen. Es spricht sicher nichts dagegen, das Formular ganz normal abzuschicken und anschließend die Tabelle auszugeben oder?

Dazu hier entlang: Lerne Grundlagen | Quellensammlung - php.de

Geändert von fab (17.08.2010 um 14:37 Uhr). Grund: Link
fab ist offline  
Alt 17.08.2010, 17:41  
Neuer Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 4
PHP-Kenntnisse:
Anfänger
orionzrh befindet sich auf einem aufstrebenden Ast
Standard

Herzlichen dank

Habe leider mit schrecken festgestellt das ich eine falsche version des ganzen genommen habe. Ich hab mitlerweilen die richtige version welche auch läuft.

PHP-Code:
##############################
//form aufbauen


    
$print .= '<!-- HTML form opening -->
                    <form name="alerts distinct hosts" action="action" method="post">
                    <select name="hostname">'
;

//for each row we get from mysql, echo a form input

    
while ($row mysql_fetch_assoc($all_hosts)){
        
$print .= '<option value="'.$row['Agent_Name'].'">'.$row['Agent_Name'].'</option>"/n';
    }
    
    
$print .= '<!-- HTML form closing -->
                </select>'
;
//                <input type="submit" value="go!">
    
$print .= '</form>'
So jetzt ist es besser. Hoffe ich doch.
orionzrh ist offline  
Alt 18.08.2010, 02:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
name="alerts distinct hosts"
Solln dat?
Zitat:
//for each row we get from mysql, echo a form input
Zitat:
<!-- HTML form closing -->
Falsch plazierte Kommentare kann man sich auch sparen.

Zitat:
'</option>"/n'
Das sollte Dir auch optisch auffallen. Totaler Murx.

Leider scheinst Du null Plan zu haben, was der Code bewirkt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 18.08.2010, 08:21  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Bitte in Zukunft auf Crosspostings verzichten!

Dropdown Liste @ tutorials.de: Tutorials, Forum & Hilfe

Anmerkung zu Multipostings
Asipak ist offline  
Alt 18.08.2010, 09:53  
Neuer Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 4
PHP-Kenntnisse:
Anfänger
orionzrh befindet sich auf einem aufstrebenden Ast
Standard

Es ist glaube ich ziemlich egal wo und wann ich Kommentare reinschreibe. Wenns mir für's debugging hilft spielt es ja wohl kar keine Rolle wo Kommentar drin steht.
Das mit dem "/n ist mir beim rumkopieren reingerutscht. Kommt davon wenn "Mann" 3 Dinge gleichzeitig macht.

das mit dem Crossposting tut mir leid. Ich hatte einfach keine geduld.

Geändert von orionzrh (18.08.2010 um 10:22 Uhr).
orionzrh ist offline  
Alt 18.08.2010, 13:23  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von orionzrh Beitrag anzeigen
Es ist glaube ich ziemlich egal wo und wann ich Kommentare reinschreibe. Wenns mir für's debugging hilft spielt es ja wohl kar keine Rolle wo Kommentar drin steht.
Nein, das ist nicht egal.

Zum einen sollen Kommentare dir selber helfen, das Script auch in einem halben Jahr noch schnell wieder verstehen zu können.

Und zum anderen suchst du hier Hilfe, weil du selber mit deinem Script nicht klar kommst. Gerade dann ist es aber wichtig, dass die Kommentare treffend sind - weil hier andere Leute versuchen, dein Script und deine Gedankengänge nachzuvollziehen, um dir weiterhelfen zu können. Falsche Kommentare führen dabei entweder dazu, dass wir auch nicht verstehen, was du machst; oder das wir annehmen, dass du selber nicht weißt, was du tust, und dir dann noch mal Dinge erklären, die du eigentlich schon weißt.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 18.08.2010, 15:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Das mit dem "/n ist mir beim rumkopieren reingerutscht.
Wers glaubt... Sowas lese ich hier immer wieder. Faktisch ändern sich beim Kopieren keine Zeichen. Wenn doch heißt das, dass Du die Codebeispiele veränderst und damit sowieso keine Garantie hast, passende Hilfe bekommen zu können. Schließlich betreffen unsere Aussagen ja den Code hier, nicht den, den Du ausprobierst.

Zitat:
Ich hatte einfach keine geduld.
Wenn die Ratschläge drüben nicht so schlecht wären, wäre hier schon zu. Ich frage mich allerings schon, warum Du trotzdem in zwei Foren weiterdiskutierst.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (18.08.2010 um 15:50 Uhr).
nikosch ist offline  
Alt 19.08.2010, 14:44  
Neuer Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 4
PHP-Kenntnisse:
Anfänger
orionzrh befindet sich auf einem aufstrebenden Ast
Standard

Hab es geschafft. Was so ein kleiner Vertipper doch alles ausmacht.

Hier noch die die Lösung:

hostlist.php

PHP-Code:
<?php

##############################

#KONFIGURATION

##############################



//Modus definieren admin / user (admin = daten editieren / user = daten auslesen)

$config['mode'] = 'user';





//MySQL Login

$config['host'] = 'xxx';

$config['user'] = 'xxx';

$config['pw'] = 'xxx';

$config['db'] = 'hawk';



##############################
//verbindung zum mysql Server und errorhandling

$mysqlcon mysql_connect($config['host'], $config['user'],  $config['pw']);



if (!
$mysqlcon) {

    die(
'connetion to MySQL-Server dident worked: ' mysql_error());

}


//DB auswählen


mysql_select_db($config['db']);





if(
$config['mode'] == 'user' OR $config['mode'] == 'admin'){

    
$result mysql_query("SELECT Agent_Name,Event_Time,Alert_State,Alert_Text,AlertID FROM HawkAlertClearInfo WHERE Alert_Text NOT LIKE 'NA' AND Alert_State LIKE 'ALERT_%' ORDER BY Event_Time DESC LIMIT 30") or die("Query does not work as it should");    
    
$all_hosts mysql_query("SELECT SQL_CACHE DISTINCT Agent_Name FROM HawkAgentInfo ORDER BY Agent_Name;") or die("Query does not work as it should");
    


    if(
$config['mode'] == 'user'){


    if(!isset(
$print)){
    
$print .= ' ';
    }

##############################

//HTML aufbauen


$print .= '<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<link type="text/css" href="main.css" rel="stylesheet" media="screen" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript">
function getAlerts(str)
{
if (str=="")
  {document.getElementById("alert").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {document.getElementById("alert").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("POST","alertPerHost.php?q="+str,true);
xmlhttp.send();
}
</script>


</head>
<body>
<div>
<!-- start top -->
        <div id="banner" >
        </div>
<!-- end top -->

<!-- start mainnavi -->
            <div id="mainnavi" >
            <ul id="navi">
            <li><a href="index.html">HOME</a></li>
            <li><a href="xxx.html">HOSTS</a></li>
         <li><a href="xxx.html">HIGH ALERTS</a></li>
         <li><a href="xxx.html">LOW ALERTS</a></li>
         </ul>
            <div class="cfloatleft"></div>
            </div>
<!-- end mainnavi -->'
;

##############################

//content aufbauen

    
$print .= '<!-- start content -->
                    <div id="content">'
;

##############################

//form aufbauen


    
$print .= '<!-- HTML form opening -->
                    <form method="POST">
                    <select name="hostname" onchange="getAlerts(this.value)">'
;

    while (
$row mysql_fetch_assoc($all_hosts)){
        
$print .= '<option value="'.$row['Agent_Name'].'">'.$row['Agent_Name'].'</option>'.'\n';
    }
    
    
$print .= '<!-- HTML form closing -->
                </select>'
;
//                <input type="submit" value="go!">
    
$print .= '</form>';
                
##############################

//tabelle mit aletrs aufbauen

    
$print .= '<!-- Alertlist -->';
    
$print .= '<div id="alert"><b>Alerts for seleted host will be listed here.</b></div>';

    
$print .= '</div>';
    
$print .= '    <!-- end content -->';
    
##############################

//footer aufbauen
    
    
    
$print .= '
<!-- start footer -->
        <div id="footer">
        <p>XXXX</p></div>
<!-- end footer -->
    </div>'
;
    }
    
    if(
$config['mode'] == 'admin'){
    }
}



print 
$print;



mysql_close($mysqlcon);



?>
alertPerHost.php

PHP-Code:
<?php

$q
=$_GET['q'];


##############################

#KONFIGURATION

##############################



//Modus definieren admin / user (admin = daten editieren / user = daten auslesen)

$config['mode'] = 'user';





//MySQL Login

$config['host'] = 'xxx';

$config['user'] = 'xxx';

$config['pw'] = 'xxx';

$config['db'] = 'hawk';



##############################

//verbindung zum mysql Server

error_reporting(E_ALL);

$mysqlcon mysql_connect($config['host'], $config['user'],  $config['pw']);



if (!
$mysqlcon) {

    die(
'connetion to MySQL-Server dident worked: ' mysql_error());

}


//DB auswählen


mysql_select_db($config['db']);



$result mysql_query("SELECT DISTINCT HA.Agent_Name, HA.Event_Time, HA.Alert_State, HA.Event_Type, HA.Alert_Text, HA.AlertID, HB.Clear_Reason, HB.Event_Time AS clrTime, HB.Event_Type AS clrType FROM (SELECT * from HawkAlertClearInfo WHERE Event_Type = 'onAlert' AND Agent_Name = '".$q."' ORDER BY Event_Time DESC LIMIT 30) HA LEFT JOIN HawkAlertClearInfo HB ON (HA.Agent_Name = HB.Agent_Name AND HA.AlertID = HB.AlertID AND HB.Event_Type not like 'onAlert') WHERE HA.Event_Type not like 'onClear'") or die("Query does not work as it should");

##############################

//Tabelle aufbauen

if(!isset($print)){
    
$print .= ' ';
    }

    
$print .= '<h1>Alerts</h1><a>from '.$q.'</a>';
    
$print .= '<table width="100%">';
    
$print .= '<tbody>';

    
$print .= '<tr>';

    
$print .= '<th align="left" width="125px">Time</th>';
    
$print .= '<th align="left" width="90px">State</th>';
    
$print .= '<th align="left" width="50px">Type</th>';
    
$print .= '<th align="left" width="400px">Alert</th>';

    
$print .= '<th align="left">ID</th>';
    
$print .= '<th align="left">Clear Reason</th>';

    
$print .= '<th align="left" width="125px">Clear Time</th>';

    
$print .= '<th align="left" width="50px">Type</th>';



    
$print .= '</tr>';

    

    while(
$row mysql_fetch_assoc($result)){

        
$print .= '<tr>';

        
$print .= '<td align="left">'.$row['Event_Time'].'</td>';

        
$print .= '<td align="left">'.$row['Alert_State'].'</td>';
        
$print .= '<td align="left">'.$row['Event_Type'].'</td>';
        
$print .= '<td align="left">'.$row['Alert_Text'].'</td>';
        
$print .= '<td align="left">'.$row['AlertID'].'</td>';

        
$print .= '<td align="left">'.$row['Clear_Reason'].'</td>';
        
$print .= '<td align="left">'.$row['clrTime'].'</td>';

        
$print .= '<td align="left">'.$row['clrType'].'</td>';

        }

        
$print .= '</tr>';

    

    
$print .= '</tbody></table>';



print 
$print;



mysql_close($mysqlcon);

?>
Hertlichen Dank fürs helfen und die Tipps und fürs nächste mal habe ich auch was bei den Kommentaren im Script gelernt
orionzrh ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Liste im Array(?) vervollständigen coram PHP Tipps 2010 10 04.02.2010 17:30
[Erledigt] dropdown liste in php vonvorne PHP Tipps 2009 5 04.03.2009 17:39
DropDown abhängig von anderem DropDown Thisi PHP Tipps 2009 12 28.02.2009 09:53
DropDown Listen Problem heli007 PHP Tipps 2008 3 11.12.2008 20:25
Mehrere abhängige dynamische DropDown Menues erstellen Cheesy PHP Tipps 2008 6 17.08.2007 16:41
[Erledigt] Liste aus Mysql in dropdown PHP-Fortgeschrittene 10 08.01.2006 18:43
Dropdown Liste nach ABC phpbeginner PHP Tipps 2005-2 5 11.10.2005 01:17
Dynamischer Dropdown? Broadcast PHP Tipps 2005-2 7 02.09.2005 17:55
DropDown Liste auf einmal anzeigen. HTML, Usability und Barrierefreiheit 4 15.06.2005 14:59
Dropdown-Menü nach klick in Liste füllen PHP Tipps 2005-2 0 13.06.2005 09:33
Nach Auswahl in der DropDown List -> Aktualisieren PHP Tipps 2005 6 13.05.2005 13:55
[Erledigt] Liste in Textarea einfügen HTML, Usability und Barrierefreiheit 0 03.01.2005 19:16
dropdown liste soll durch onChange nächste liste laden HTML, Usability und Barrierefreiheit 1 13.12.2004 15:42
dropdown onchange PHP Tipps 2004 3 31.07.2004 20:04
Dropdown Liste automatisch erstellen PHP Tipps 2004 2 20.06.2004 12:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dropdown liste, php dropdown menü erstellen, php drop down list, dropdown allert php, mit dropdown alert php, print dropdown php, dropdown liste php script, dropdown menü php, dropdownliste php, erstellung von dropdown-list php, php drop down list script, php dropdownliste, dropdown tabelle, dropdownliste in php, php code drop down list, drop down menu <li><a href=\\>, mit dropdown allert php, php script eingabe in drop down menü, php drop down list aus tabelle, dropdown menü php mysql post

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum