php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-03-2005, 09:38
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard HTML-Select Felder dynamisch nach Mysq-Query Anpassen

Hallo

mir wurde als Netzwerktechniker aufgebrummt ein Online-Anmeldesystem f. Schulungen zu "programmieren". Bin auch schon ganz schön weit gekommen (für meine Kenntnisse) aber jetzt hänge ich an folgendem Problem: Es soll ein Select-Feld mit Option-Werte angeboten werden, in dem die User die Termine auswählen können, je nachdem welchen Typ Schulung Sie aus einem vorherigen Select-Feld auswählen (Word,Outlook,Excel).

Das ganze schaut ungefähr so aus:
PHP-Code:
    $kquery = "SELECT id from $table";
    $resultat_k = MYSQL_QUERY($kquery);
    for ($k=0; $k < MYSQL_NUM_ROWS($resultat_k); $k++); {
        echo $resultat_k;
         $abfrage_ergebnis_k = MYSQL_FETCH_ROW($resultat_k);
         for ($k1 = 0; $k1 < MYSQL_NUM_FIELDS($resultat_k); $k1++) {
    ?>
    <option value="xyz"><?php echo $abfrage_ergebnis_k[$k1]; ?>
    <?php
    
}
    }
    
?>
    </option>
    </select>

//Debugging    
<?php echo $abfrage_ergebnis_k?>

Es existieren im Moment die ID-s 1-9 in der Datenbank, das Select Feld zeigt aber nur die 1 an. ein Einfaches echo der Abfrage gibt "array" aus.

wie muss das richtig heissen? O_O

PS: hier ist der gesamte Code: http://nopaste.php-q.net/118444

gruß

Geändert von masteryoda (02-03-2005 um 09:41 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 02-03-2005, 09:43
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

mysql_fetch_row liefert dir Beispielcode

Wenn du dann noch Fragen hast: Einfach fragen
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #3 (permalink)  
Alt 02-03-2005, 09:59
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

und was soll mir das bringen? meine sql-abfrage ist richtig (denke ich^^)
aber das einbinden in das options feld klappt nicht...ausserdem ist in deinem beispiel nur statische ausgabe geschildert , ich brauche eine for-schleife mit drinne ^^
Mit Zitat antworten
  #4 (permalink)  
Alt 02-03-2005, 10:04
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Es gibt da auch User Contributed Notes

Abgesehen davon ist deine for-Schleife viel zu früh beendet:
for ($k=0; $k < MYSQL_NUM_ROWS($resultat_k); $k++); {
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 02-03-2005, 10:08
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

http://www.php-faq.de/q/q-formular-select.html
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 02-03-2005, 12:28
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo, danke für den Hinweis aber kann ich leider nicht benutzten da auf dem Rechner kein Pear:B Modul installiert ist...

Mit Zitat antworten
  #7 (permalink)  
Alt 02-03-2005, 12:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von masteryoda
hallo, danke für den Hinweis aber kann ich leider nicht benutzten da auf dem Rechner kein Pear::DB Modul installiert ist...
*seufz*

PEAR::DB wird dort einzig und allein für die abfrage der daten aus der DB genutzt ... das auf eine andere art der abfrage, beispielsweise über die normalen mysql_-funktionen von PHP, umzuschreiben, ist eine recht triviale transferleisteng ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 02-03-2005, 13:49
Wendel
 Junior Member
Links : Onlinestatus : Wendel ist offline
Registriert seit: May 2004
Beiträge: 117
Wendel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mysql_num_fields gibt die Anzahl der Felder aus Deiner Ergebnismenge an.
siehe www.php.net
Da Du nur nach einer id suchst wird also auch immer nur 1 zurückgegeben.
Ähm, willst Du die Zeile Spalte für Spalte durchlaufen oder
ein und dieselbe Spalte zeile für zeile?
Is so nicht ganz klar.
PHP-Code:
  $kquery = "SELECT id from $table";
    $resultat_k = MYSQL_QUERY($kquery);
          while ($abfrage_ergebnis_k = MYSQL_FETCH_ROW($resultat_k))
                {
    ?>
    <option value="xyz"><?php echo $abfrage_ergebnis_k[id]; ?>
    <?php
    
}
    }
    
?>
    </option>
    </select>

//Debugging    
<?php print_r($abfrage_ergebnis_k); ?>
vorschlag von mir.Gehe davon aus Du willst die ids anzeigen.
while= solange da zeilen aus der Ergebnismenge zurückgegeben werden(egal wie viele)
gibt er das Feld in der die id steht wieder aus.($abfrage_ergebnis_k[2]
setz da den Spaltenindex ein z.B. [2] wenn es die dritte vorhandene Spalte ist inder die id steht.(index beginnt mit 0!)
das array kannst du Dir mit : print_r($abfrage_ergebnis_k); ausgeben lassen.
Die Ergebnismenge ($resultat) meines wissens überhaupt nicht.
Viel Spass noch.
Gruss Wendel
__________________
Das Leben ist kein Ponyhof.
Mit Zitat antworten
  #9 (permalink)  
Alt 02-03-2005, 16:16
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jo, ich möchte das die ID's als Option angezeigt werden.

danke, werde das mal versuchen, bin ja nicht so ein profi programmierer
wird scohn irgendwie hinhauen^^

kann man die Values "xyz" auch dynamisch aus der Mysql-Abfrage definieren? ich muss diese Werte später, je nachdem der User auswählt, wieder auslesen können!


btw: gibts sowas nicht schon als rohbau fertig, ein anmeldesystem mit mysql anbindung ich weiss ist lame aber hab leider nicht soviel zeit muss ja meine hauptarbeit auch noch erledigen :/
Mit Zitat antworten
  #10 (permalink)  
Alt 02-03-2005, 16:52
Wendel
 Junior Member
Links : Onlinestatus : Wendel ist offline
Registriert seit: May 2004
Beiträge: 117
Wendel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, prinzipiell kannst Du fast alles dynamisch generieren, folglich auch deine xyz-values.
Was suchst Du für ein script?
loginfunktion mit Datenbank?
Hast Du keine Datenbank als Admin von der Du nen Dump erzeugen kannst?
phpMyadmin - damit kannst Du auch nur die Struktur erstellen ohne Daten.
Den Rest musst Du Dir im Netz suchen. Hier oder goooogle!
Aber mal im Ernst, als Admin bringt Dir PHP jede Menge zwecks Automatisierung!
Also die Zeit, die Du investierst ist nicht verloren!
Aber ich kenn das....
Melde Dich wenn Du mal wieder "Kotbrocken" hast.
Alles Gute
Wendel
__________________
Das Leben ist kein Ponyhof.
Mit Zitat antworten
  #11 (permalink)  
Alt 02-03-2005, 17:08
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich bräuchte im endeffekt nur ein formular das verfügbare schulungen mit termin auf einer html seite anzeigt und für diese sich user über ein formular eintragen können. die daten sollen in einer mysql db gespeichert werden, ausgelesen wird das ganze entweder über konsole oder import in ne csv datei.

greetz
Mit Zitat antworten
  #12 (permalink)  
Alt 03-03-2005, 08:25
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

thx @wendel, dein Vorschlag klappt prima !

jetzt würde ich aber gerne anstelle der ID direkt das Datum anzeigen lassen im <option> feld, und habe dazu laut deiner Anweisung die Indexnummer von 0 auf
1 (die Spalte datum ist die 2.) erhöht.

Hier die MySQL Struktur der Tabelle Termin:
mysql> describe Termin;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(3) | | PRI | NULL | auto_increment |
| datum | varchar(10) | | | | |
| art | varchar(10) | | | | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.28 sec)

Wenn ich wie gesagt als Index 1 eintrage in :
PHP-Code:
<option value="<?php echo $abfrageergebnis_k[0]; ?>"><?php echo $abfrageergebnis_k[0]; ?></option>
dann zeigt er mir 3 leere Felder (weil 3 Einträge existieren), bei Index 0 für die id zeigt er mir die 3 IDs an.


und wie löst man dies: wenn jemand in einem select - feld die values word,excel oder outlook auswählt, soll die abfrage entsprechend nach der Auswahl stattfinden.
ich habe an javascript gedacht:
PHP-Code:
<select size="1" name="schulungauswahl" onchange="Checkauswahl();"
und die Funktion Checkauswahl():
PHP-Code:
<SCRIPT type="text/javascript">
function Checkauswahl() {
if(document.FORM.schulungauswahl.selectedIndex == 2)
  { <?php $art "'Word'"?>};
if(document.FORM.schulungauswahl.selectedIndex == 3)
  <?php $art "'Excel'"?>;
if(document.FORM.schulungauswahl.selectedIndex == 4)
  <?php $art "'Outlook'"?>;
JavaScript:location.reload()
}
</SCRIPT>
$art wird in die MYSQL_QUERY eingebunden:
PHP-Code:
$k_query "SELECT id from $table where art=$art"

==> klappt aber leider nicht. (wie immer halt)

könnte mir da noch jemand auf die Sprünge helfen? WEnn ich das noch hinkriege dann wäre das Teil schon einsatzbereit ^^
Mit Zitat antworten
  #13 (permalink)  
Alt 03-03-2005, 15:59
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

niemand?
Mit Zitat antworten
  #14 (permalink)  
Alt 03-03-2005, 16:03
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von masteryoda
niemand?
darauf, zum x-ten male zu erklären, dass PHP serverseitig abläuft und javascript clientseitig, und deshalb deine funktion absolut sinnfrei ist, hat vermutlich kaum einer lust.

und deshalb warten wir jetzt einfach mal ab, bis du das selber checkst ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #15 (permalink)  
Alt 03-03-2005, 17:15
masteryoda
 Newbie
Links : Onlinestatus : masteryoda ist offline
Registriert seit: Mar 2005
Beiträge: 15
masteryoda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vielen dank für den freundlichen hinweis.

edit:
hab das Javascript herausgeworfen, ein formular mit verweis auf sich selbst erstellt, ne abfrage mit if (isset $variable) vorneweg gestellt und schon klappts.

ausserdem anstelle von mysql_fetch_row ein mysql_fetch_object und mit dem dazugehörigen echo $abfrage -> spalte , und schon klappts auch.

bedanke mich bei allen die mir geholfen haben.

Geändert von masteryoda (04-03-2005 um 07:48 Uhr)
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

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni


 

Aktuelle PHP Scripte

Simple CMS PHP ansehen Simple CMS PHP

Simple CMS PHP is a very simple content management system. You just create a page content into the admin area and then copy the code for this content and paste it into the page of your website, where you want the content to appear. You do not need of any

01.10.2021 nevenov | Kategorie: PHP/ CMS
Funeral Script PHP ansehen Funeral Script PHP

Funeral Script PHP is the easiest way to place obituaries on your funeral home website. The script is designed to be included into your webpage and fit your website layout. Visitors to your website will be able read the obituaries and post/read comments o

01.10.2021 nevenov | Kategorie: PHP/ News
FAQ Script PHP ansehen FAQ Script PHP

FAQ Script PHP is a simple knowledgebase script and you could use it as a Frequently Asked Question section on your website. It is written in PHP and MySQL.

29.09.2021 nevenov | Kategorie: PHP/ FAQ
 Alle PHP Scripte anzeigen

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