PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Popupfenster und sortieren nach ID (http://www.selfphp.de/forum/showthread.php?t=8440)

Geordi 17.08.2004 19:15:30

Popupfenster und sortieren nach ID
 
Hallihallo,
also ich habe folgendes Problem:
Ich möchte informationen die ich in einer Datenbank gespeichert habe in einem Popup ausgeben.
In dem Link wird die id übergeben
PHP-Code:

info.php?id=$id 

wie löse ich das, dass dieser link in einem kleinen Popup geöffnet wird.

Zweites Problem:

Daten die in der DB stehen werden in einer Tabelle ausgegeben, allerdings nicht sortiert. Ich möchte die Tabelle nun gerne nach der ID der Daten in der DB sortieren lassen.
Wie löse ich das?

Die Tabelle sieht so aus:
PHP-Code:

<?php

   $db 
mysql_connect();

   
$sqlab "select * from mitarbeiter";
   
   if (
$gruppe==1)
      
$sqlab .= " where gruppe like 'Jungschar'";
   else if (
$gruppe==2)
      
$sqlab .= " where gruppe like 'Kinderschar'";
   else if (
$gruppe==3)
      
$sqlab .= " where gruppe like 'Kinderchor'";
   else if (
$gruppe==4)
      
$sqlab .= " where gruppe like 'MAK'";
   else if (
$gruppe==5)
      
$sqlab .= " where gruppe like '4U-Club'";
   else if (
$gruppe==6)
      
$sqlab .= " where gruppe like 'Girlsground'";
   else if (
$gruppe==8)
      
$sqlab .= " where vorstand like 'http://localhost/cvjm/yes.jpg'";
   else 
     
$sqlab .= " where id >0";
      
   
$res mysql_db_query("cvjm"$sqlab);
   
$num mysql_num_rows($res);

   if (
$num==0)
      echo 
"keine passenden Datensätze gefunden";

  
   
// Tabellenbeginn
   
echo "<table <table border='1' bordercolor='#999999'>";

   
// Überschrift
   
echo "<tr> <td><strong>Name</td>";
   echo 
"<td><strong>Gruppe</td><td><strong>Vorstandsmitglied</td></tr>";

for (
$i=0$i<$num$i++)
   {
       for (
$i=0$i<$num$i++)
   {
      
$id mysql_result($res$i"id");
      
$name mysql_result($res$i"name");
      
$gruppe mysql_result($res$i"gruppe");
      
$vorstand mysql_result($res$i"vorstand");
      
            
// Tabellenzeile mit -zellen
      
echo "<tr><td><a href='info.php?id=$id'>$name</a></td> 
      <td><a href='../gruppen/info.php?gruppe=$gruppe'>$gruppe</a></td>
      <td><center><img src='$vorstand'></center></td></tr>"
;
      }

   
// Tabellenende
   
echo "</table>";

}

   
mysql_close($db);
   
?>


Corvin 17.08.2004 20:32:47

Hallo Geordi,

Zitat:

Daten die in der DB stehen werden in einer Tabelle ausgegeben, allerdings nicht sortiert. Ich möchte die Tabelle nun gerne nach der ID der Daten in der DB sortieren lassen.
Wie löse ich das?
An die Abfrage das hinten ranhängen:
ORDER BY id DESC
oder so halt:
ORDER BY id ASC
jenachdem ob das in absteigender oder aufsteigender Reihenfolge sortiert werden soll.

Zitat:

wie löse ich das, dass dieser link in einem kleinen Popup geöffnet wird.
Der Link:
Code:

<a href="#" onClick="window.open('info.php?id=1','','toolbar=no,scrollbars=yes,width=420,height=420')">Info</a>
Und dann die info.php:
PHP-Code:

<?php
$id 
$_GET["id"];
$sql "select * from mitarbeiter where id = $id";
// und hier denn halt die ausgabe wie gewohnt ...

?>


Geordi 18.08.2004 12:52:05

Sorry,
funktioniert beides nicht
Entwerder bin ich zu doof, oder des funzt nicht.

Kannst du mir das ganze mal im zusammenhang geben? (Lerne php seit 3 Tagen)

vt1816 18.08.2004 13:45:30

Sorry,

was funktioniert nicht? Gib es eine Fehlermeldung - wenn ja welche?
Wie sieht Deine Abfrage jetzt aus?

Stifler 18.08.2004 13:45:54

häng nur mal

ORDER BY ID


an das ende deiner mysql abfrage das müsste gehen.

und wegen deinem link setzte das hier mal ein mit den php klammern.
PHP-Code:

<?
echo "<a href="#" onClick="window.open('info.php?id=$id',
'','toolbar=no,scrollbars=yes,width=420,heig
ht=420')">Info</a>";
?>

und auf der info seite rufst du sie dann so ab wie corvin gesagt hat

PHP-Code:


<?php
$id 
$_GET["id"];
$sql "select * from mitarbeiter where id = $id";
// und hier denn halt die ausgabe wie gewohnt ...

?>


Geordi 18.08.2004 15:56:58

Zitat:

Original geschrieben von Stifler
ORDER BY ID

Zitat:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:Dokumente und EinstellungenPhilippDesktopxampphtdocscvjmmitarbeiterindex.php on line 64
Funktioniert nicht!

Zitat:

PHP-Code:

<?
echo "<a href="#" onClick="window.open('info.php?id=$id',
'','toolbar=no,scrollbars=yes,width=420,heig
ht=420')">Info</a>";
?>


Öffnet kein neues Fenster. In der adresszeile des aktuellen fensters bewirkt das nur

Zitat:

http://localhost/cvjm/mitarbeiter/index.php#

vt1816 18.08.2004 16:12:54

Re: Popupfenster und sortieren nach ID
 
Zitat:

Original geschrieben von Geordi
PHP-Code:

<?php

   $db 
mysql_connect();

   
$sqlab "select * from mitarbeiter";
   
   ...
      
   
$res mysql_db_query("cvjm"$sqlab);
   
$num mysql_num_rows($res);



Mein Vorschlag:
PHP-Code:

<?php

   $db 
mysql_connect();

   
$sqlab "select * from mitarbeiter ORDER BY ID ";
   
   ...
      
   
$res mysql_query("cvjm"$sqlab);
   
$num mysql_num_rows($res);  
?>

'Deine' Funktion mysql_db_query() gibt es meiner Kenntnis nach nicht.

xabbuh 18.08.2004 19:22:59

Re: Re: Popupfenster und sortieren nach ID
 
//EDIT: Zu früh abgeschickt

xabbuh 18.08.2004 19:22:59

Re: Re: Popupfenster und sortieren nach ID
 
Zitat:

Original geschrieben von vt1816
Mein Vorschlag:
PHP-Code:

<?php

   $db 
mysql_connect();

   
$sqlab "select * from mitarbeiter ORDER BY ID ";
   
   ...
      
   
$res mysql_query("cvjm"$sqlab);
   
$num mysql_num_rows($res);  
?>

'Deine' Funktion mysql_db_query() gibt es meiner Kenntnis nach nicht.

Doch mysql_db_query gibt es. Beschreibung

Zum Problem:

Achte bei der Anweisung zum Sortieren darauf, dass du nur nach Spalten sortierst, die es auch wirklich gibt. Wenn die Spalte also id heißt, ist es logisch, dass "ORDER BY ID" eine Fehlermeldung erzeugt.

Probiere es doch mal so:

[php]
<?php

$sql = "SELECT
feldernamen
FROM
tabelle
ORDER BY
id";
mysql_db_query($db, $sql);

xabbuh 18.08.2004 19:28:07

Re: Re: Popupfenster und sortieren nach ID
 
Zitat:

Original geschrieben von vt1816
Mein Vorschlag:
PHP-Code:

<?php

   $db 
mysql_connect();

   
$sqlab "select * from mitarbeiter ORDER BY ID ";
   
   ...
      
   
$res mysql_query("cvjm"$sqlab);
   
$num mysql_num_rows($res);  
?>

'Deine' Funktion mysql_db_query() gibt es meiner Kenntnis nach nicht.

Doch mysql_db_query gibt es. Beschreibung

Zum Problem:

Achte bei der Anweisung zum Sortieren darauf, dass du nur nach Spalten sortierst, die es auch wirklich gibt. Wenn die Spalte also id heißt, ist es logisch, dass "ORDER BY ID" eine Fehlermeldung erzeugt.

Probiere es doch mal so:

PHP-Code:

<?php
    $db 
mysql_connect("...""...""...");
    
$sql "SELECT
                feldernamen
            FROM
                tabelle
            ORDER BY
                id"
;
    
$res mysql_db_query("cvjm"$sql);
    
$num mysql_num_rows($res);
?>

Wenn das immer noch nicht funktioniert, lass dir die Fehlermeldung anzeigen, die durch mysql_db_query hervorgerufen wird.

Also so:
PHP-Code:

<?php
    $res 
mysql_db_query("cvjm"$sql) or die(mysql_error());
?>

Den Link kannst du so machen:
Code:

<a href="info.php?id=<?php echo $id; ?>"
    target="newwindow"
    onClick="window.open('','newwindow','scrollbars=yes,width=420,height=420');">Info</a>

info.php ist dann so, wie oben weiter schon erwähnt:
PHP-Code:

<?php
$id 
$_GET["id"];
$sql "select * from mitarbeiter where id = $id";
// und hier denn halt die ausgabe wie gewohnt ...
?>



Alle Zeitangaben in WEZ +2. Es ist jetzt 16:30:35 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.