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 07-11-2002, 09:35
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard SQL Ausgabe in Tabelle

Hallo PHP-User,

ich bin absoluter Neuling, habe eine Frage und hoffe hier im Forum auf eine Antwort.

Ich habe eine SQL-Spalte und möchte diese gerne als Tabelle ausgeben.

z.B. die SQL-Spalte heist : IP
die Tabelle heist : xxx_75109_xxx

nun möchte ich folgende Tabellenausgabe haben, die mir die doppelten einträge zählt.



Für eine Antwort und Hilfestelung wäre ich dankbar

Danke - Manuela
Mit Zitat antworten
  #2 (permalink)  
Alt 07-11-2002, 09:45
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so gehts:

SELECT ip, count( ip ) AS anzahl
FROM `test`
GROUP BY ip

gruss
Mit Zitat antworten
  #3 (permalink)  
Alt 07-11-2002, 11:27
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke MoRtAlAn für die schnelle Antwort,
jeoch klappt das nicht.

Ich habe nun folgenden Code benutzt :

<?
$sql = "SELECT ip, count( ip ) AS anzahl
FROM test GROUP BY ip";
$res = mysql_query($sql);
$hits = mysql_result($res, 0);
echo $hits
?>

und bekomme folgendes Ergebnis :

10.0.0.1

Häääää ?

Gruß Manuela
Mit Zitat antworten
  #4 (permalink)  
Alt 07-11-2002, 11:39
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hier, nur noch db-verbindung und ausgabe anpassen:

PHP-Code:
<?php
$sql 
'SELECT ip, count( ip ) AS anzahl FROM `test` GROUP BY ip LIMIT 0, 30';
mysql_connect"192.168.208.222""root""") or die( errorhandle($mess));
mysql_select_db"test" ) or die( errorhandle($mess));

$result mysql_query($sql);

while (
$row mysql_fetch_array($result)) {
        echo 
"Die IP ".$row[ip]." kommt ".$row[anzahl]."x vor<br>";
    }
?>
gruss
Mit Zitat antworten
  #5 (permalink)  
Alt 07-11-2002, 12:04
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Jo, das mit den Anzeigen funktioniert nun,
jedoch möchte ich dieses in einer Tabelle Anzeigen mit
in dem die einzelnen Tabellen eine andere Farbe haben
und mit dem höchsten Anzahl-Wert beginnend.

Ich habe mir gedacht das ich die Tabelle mit folgender Funktion
aufbaue.

PHP-Code:
<?
function bgColor()
{   static 
$color 0xAAAAFF;
     
$color ^= 0x444411;
     return 
"\"#".dechex($color)."\"";
}
?>
Nun habe ich versucht folgenden Code mit einer Table-Anweisung
PHP-Code:
<tr>
    <td bgcolor=<?php echo bgColor()?>><?"IP".$row[ip].?>"</td>
  </tr>
in die While-Schleife mit ein zu binden, jedoch klappt das nicht

Gruß Manuela
Mit Zitat antworten
  #6 (permalink)  
Alt 07-11-2002, 13:58
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

O.K. habe es geschaft, trotzdem D A N K !

Falls einen interessiert hier der Quellcode :

PHP-Code:
<HTML>
<
HEAD>
<
TITLE>Abfrage der SQL-Tabelle Sortierte Liste</TITLE>
</
HEAD>
<
font size=4>Abfrage der SQL-Tabelle Sortierte Liste</font><br>
<
script language="php">

  
$db_server "Server";
/* Datenbankname */
  
$db_name "datenbankname";
/* Datenbankuser */
  
$db_user "datenbankusername";
/* Datenbankpasswort */
  
$db_passwort "datenbankpasswort";
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);

  if (
$sortnach=="")
    {
     print 
"sortiert nach Hostname";
     
$abfrage MySQL_db_query("datenbankname","select hostname, count(hostname) as hits from pphl_85245_logs as hits GROUP BY hostname ORDER BY hits DESC LIMIT 0, 10");
    }
  else
   {
     print 
"sortiert nach $sortnach<br>";
     
$abfrage MySQL_db_query("datenbankname","select $sortnach, count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $sortnach ORDER BY hits DESC LIMIT 0, 10");
    }

  
$z=MySQL_num_rows($abfrage);
  
$s=MySQL_num_fields($abfrage);
  print 
"<table border=1 bgcolor=lightgreen>\n";
  print 
"<tr bgcolor=red>";
  for (
$j=0$j<$s$j++) { $fn=MySQL_fieldname($abfrage,$j); print "<td><b>$fn</b></td>";}
  print 
"</tr>";
  for (
$i=0$i<$z$i++)
    {
      print 
"<tr>\n";
      
$zeile=MySQL_fetch_array($abfrage);
      for (
$j=0$j<$s$j++) { print "  <td>$zeile[$j]</td>\n";}
      print 
"</tr>\n";
    }
  print 
"</table>\n";
  print 
date("Y-m-d H:i:s");
</script>

<FORM action=award.php method=POST>
Neu Sortieren nach:
  <select name="sortnach">

    <option selected value="hostname"  >Hostname
    <option value="ip"                             >IP
    <option value="referer"                     >Referer
    <option value="proxy"                       >Proxy
    <option value="Proxy_ip"                  >Proxy IP
    <option value="Proxy_hostname"     >Proxy Hostname

  </select>
  <input type="submit" Value="Sortieren">
</FORM>

</BODY>
</HTML> 
Gruß Manuela

Geändert von manuelakersten (07-11-2002 um 14:11 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 07-11-2002, 14:26
Wotan
 Master
Links : Onlinestatus : Wotan ist offline
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
Wotan ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
 <select name="sortnach">

    <
option selected value="hostname"  >Hostname</option>
    <
option value="ip"                             >IP</option>
    <
option value="referer"                     >Referer</option>
    <
option value="proxy"                       >Proxy</option>
    <
option value="Proxy_ip"                  >Proxy IP</option>
    <
option value="Proxy_hostname"     >Proxy Hostname</option>

  </
select
Du musst Option auch wieder schliessen, sonst gibt es Probleme.
__________________
*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Mit Zitat antworten
  #8 (permalink)  
Alt 07-11-2002, 19:58
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke,

jetzt habe ich doch eine Frage, wenn ich keine Auswahl für den Benutzer
des Tables abfragen möchte, sondern dem User die Möglichkeit
geben möchte, die Tabellen mit einer Checkbox aus zu wählen,
wie realisiere ich das, denn zwischen den Strings muß erstensein Komma stehen und wenn eine Checkbox nicht angeklickt wird, wird es eine Fehlermeldung geben.



Für Hilfe wäre ich dankbar

Gruß Manuela
Mit Zitat antworten
  #9 (permalink)  
Alt 07-11-2002, 22:52
Pascal P.
 Member
Links : Onlinestatus : Pascal P. ist offline
Registriert seit: Dec 2001
Ort: Pforzheim
Beiträge: 420
Pascal P. ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Versuche doch mal folgendes. Vorraussetzung hierfür ist, das du die Checkboxen alle wie folgt benennst:
Beispiel:
PHP-Code:
tabelle[] 
Damit erzeugst du einen Array. Auf der nächsten Seite greifst du dann wie folgt auf den Array zu und baust das Statement...
PHP-Code:
for ($i=0;$i<=count($tabelle)-1;$i++) {
  
$statement .= $tabelle[$i];
  if (
$i count($tabelle)) {
    
$statement .= ", ";
  }

Das ist jetzt nur ein Beispiel. Könntest es auch mit einer while schleife, oder ganz anners machen
__________________
Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info
Mit Zitat antworten
  #10 (permalink)  
Alt 07-11-2002, 23:15
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mhhhh, die Funktionsweise vom zweiten Script verstehe ich, jedoch nicht wo ich dieses einfügen soll und das erste mit 'tabelle[]' überhaupt nicht.

Sorry aber ich bin Anfänger, wäre Super wenn Du mir das etwas genauer erklären könntest ( vielleicht mit einem Beispiel aus meinem Script :-) )

Danke im voraus

Gruß Manuela
Mit Zitat antworten
  #11 (permalink)  
Alt 08-11-2002, 09:16
Pascal P.
 Member
Links : Onlinestatus : Pascal P. ist offline
Registriert seit: Dec 2001
Ort: Pforzheim
Beiträge: 420
Pascal P. ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dein Formular, das momentan aus einer ComboBox besteht muss ja erst einmal geändert werden. So das du für jedes Item (Tabelle) eine Checkbox hast.

PHP-Code:
<FORM action=award.php method=POST>
Neu Sortieren nach:
  <
input type=checkbox name=sortnach[] value="hostname">
  <
input type=checkbox name=sortnach[] value="ip">
  <
input type=checkbox name=sortnach[] value="referer">
  <
input type=checkbox name=sortnach[] value="proxy">
  <
input type=checkbox name=sortnach[] value="Proxy_ip">
  <
input type=checkbox name=sortnach[] value="Proxy_hostname">

  <
input type="submit" Value="Sortieren">
</
FORM
So das ist dein Form. Und nun musst du das noch in deinem Script, bevor du die SQL Abfrage macht, einfügen.
PHP-Code:
//Wenn keine Checkbox geklickt ist, dann wird nur hostname benutzt
if (empty($sortnach)) {
  
$sortnach[] = "hostname";
}

//Bilden des benötigten Strings für SQL Query
for ($i=0;$i<=count($sortnach)-1;$i++) {
  
$statement .= $sortnach[$i];
  if (
$i count($sortnach)) {
    
$statement .= ", ";
  }
}

print 
"sortiert nach $statement <br>";
$abfrage MySQL_db_query("datenbankname","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0, 10");

$z=MySQL_num_rows($abfrage);
$s=MySQL_num_fields($abfrage); 
Noch fragen?
__________________
Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info
Mit Zitat antworten
  #12 (permalink)  
Alt 08-11-2002, 15:11
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

S U P E R - DANKE FÜR DIE MÜHE,
jedoch bekomme ich folgende Fehlermeldungen :

PHP-Code:
Warningmysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/httpd/htdocs/kunden/web625/html/award.php on line 44

Warning
mysql_num_fields(): supplied argument is not a valid MySQL result resource in /usr/local/httpd/htdocs/kunden/web625/html/award.php on line 45 
Ich habe die Scrippasagen ersetzt :

PHP-Code:
<HTML>
<
HEAD>
<
TITLE>Abfrage der SQL-Tabelle Sortierte Liste</TITLE>
</
HEAD>
<
font size=4>Abfrage der SQL-Tabelle Sortierte Liste</font><br>

<
script language="php">
  
$db_server "xxx";
/* Datenbankname */
  
$db_name "xxx1";
/* Datenbankuser */
  
$db_user "xxx";
/* Datenbankpasswort */
  
$db_passwort "xxx";
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);

  
//Wenn keine Checkbox geklickt ist, dann wird nur hostname benutzt

if (empty($sortnach)) {

  
$sortnach[] = "hostname";

}

//Bilden des benötigten Strings für SQL Query

for ($i=0;$i<=count($sortnach)-1;$i++) {

  
$statement .= $sortnach[$i];

  if (
$i count($sortnach)) {

    
$statement .= ", ";

  }

}

print 
"sortiert nach $statement <br>";


$abfrage MySQL_db_query("xxx","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0,10");

$z=MySQL_num_rows($abfrage);    // FEHLERMELDUNG
$s=MySQL_num_fields($abfrage);    // FEHLERMELDUNG

print "<table border=1 bgcolor=lightgreen>\n";
  print 
"<tr bgcolor=red>";
  for (
$j=0$j<$s$j++) { $fn=MySQL_fieldname($abfrage,$j); print "<td><b>$fn</b></td>";}
  print 
"</tr>";
  for (
$i=0$i<$z$i++)
    {
      print 
"<tr>\n";
      
$zeile=MySQL_fetch_array($abfrage);
      for (
$j=0$j<$s$j++) { print "  <td>$zeile[$j]</td>\n";}
      print 
"</tr>\n";
    }
  print 
"</table>\n";
  print 
date("Y-m-d H:i:s");
</script>

<FORM action=award.php method=POST>

Neu Sortieren nach:

  <input type=checkbox name=sortnach[] value="hostname">

  <input type=checkbox name=sortnach[] value="ip">

  <input type=checkbox name=sortnach[] value="referer">

  <input type=checkbox name=sortnach[] value="proxy">

  <input type=checkbox name=sortnach[] value="Proxy_ip">

  <input type=checkbox name=sortnach[] value="Proxy_hostname">



  <input type="submit" Value="Sortieren">

</FORM>

</BODY>
</HTML> 
Den falschen Syntax habe ich markiert.

Für Hilfe wäre ich dankbar

Gruß Manuela
Mit Zitat antworten
  #13 (permalink)  
Alt 08-11-2002, 15:25
Pascal P.
 Member
Links : Onlinestatus : Pascal P. ist offline
Registriert seit: Dec 2001
Ort: Pforzheim
Beiträge: 420
Pascal P. ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Versuch mal das

PHP-Code:
$abfrage MySQL_db_query("xxx","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0,10"); 
__________________
Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info
Mit Zitat antworten
  #14 (permalink)  
Alt 08-11-2002, 16:14
manuelakersten
 Member
Links : Onlinestatus : manuelakersten ist offline
Registriert seit: Apr 2002
Beiträge: 379
manuelakersten ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ne, leider ohne Erfolg **schnieeeffff **

Gruß Manuela
Mit Zitat antworten
  #15 (permalink)  
Alt 08-11-2002, 16:19
Wotan
 Master
Links : Onlinestatus : Wotan ist offline
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
Wotan ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$db MYSQL_CONNECT($db_server,$db_user,$db_passwort); // erste Änderung


$abfrage MySQL_db_query("xxx","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0,10")or die(mysql_error());// Zweite Änderung 
Probiers mal so!
Und dann poste die Fehlermeldung noch mal!
__________________
*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
Adsman Pro - Werbe-Manager V.1.1.0

Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebigem Format, Textanzeigen und Page-Peels mit umfangreichen Text und Flash-Effekte.

30.07.2019 rhs | Kategorie: PHP/ Bannerverwaltung
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

30.07.2019 Berni | Kategorie: MYSQL/ Management
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:31 Uhr.