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 14-03-2008, 12:45
CosmoPhobia
 Newbie
Links : Onlinestatus : CosmoPhobia ist offline
Registriert seit: Mar 2008
Beiträge: 38
CosmoPhobia ist zur Zeit noch ein unbeschriebenes Blatt
Standard Funktion mit SQL Query und array erstellen

Hallo liebe Community.

Erstmal ein freundliches Hallo, da dies mein erster Post in diesem Forum hier sein wird. Ich finds super, dass Leute wir ihr, Freizeit darin investiert, anderen, die noch nicht so bewandert in PHP sind, behilflich zu sein.
Ich selbst bin auch noch relativ neu in dem Bereich, deshalb bitte ich bei der ein oder anderen dummen Frage um Nachsicht

Zu meinem Problem:
Ich habe eine index-Seite, auf der sich ein Formular befindet. In diesem Formular trage ich Daten auf eine mySQL DB ein. Die SQL Abfrage möchte ich gerne in eine Funktion packen, weil ich diese wahrscheinlich noch öfter verwenden werde. Leider habe ich aber genau dabei Probleme.
Hier mein Formular, welches sich in der index.php befindet:

PHP-Code:
<tr>
  <td><input type="text" size="2" name="menge_fahrzeug1" value="0"></td>
  <td width="150"><?php echo htmlentities($fahrzeug[1]); ?></td><td width="100"><?php echo $preis[1]; ?> EUR</td>
  <td><?php echo htmlentities($beschreibung[1]); ?></td></tr>
 <tr>
  <td><input type="text" size="2" name="menge_fahrzeug2" value="0"></td>
  <td width="150"><?php echo htmlentities($fahrzeug[2]); ?></td><td width="100"><?php echo $preis[2]; ?> EUR</td>
  <td><?php echo htmlentities($beschreibung[2]); ?></td></tr>
 <tr>
  <td><input type="text" size="2" name="menge_fahrzeug3" value="0"></td>
  <td width="150"><?php echo htmlentities($fahrzeug[3]); ?></td><td width="100"><?php echo $preis[3]; ?> EUR</td>
  <td><?php echo htmlentities($beschreibung[3]); ?></td></tr>
Nun die Funktion (functions.php), mit der ich die Daten, die in das Formular eingetragen werden sollen, aufruft (ich weiß, dass man da irgendwie mit return arbeiten sollte, aber habe keine Ahnung, wo sowas hinkommt. Auch sagte man mir, dass das nur mit einem Array ginge):

PHP-Code:
function showcars()
{
    
$sql mysql_query("SELECT
                            * 
                        FROM 
                            cars 
                        ORDER BY 
                            id 
                        DESC;"
) OR die(mysql_error());

while(
$row mysql_fetch_assoc($sql)) 
{
    
$fahrzeug[$row[id]] = $row[kategorie];
    
$preis[$row[id]] = $row[preis];
    
$beschreibung[$row[id]] = $row[beschreibung];
}


Und einbinden wollte ich das Ganze mit diesem Code in die index.php

PHP-Code:
include "inc/functions.php";
showcars(); 
Leider funktioniert das überhaupt nicht, es werden keine Daten angezeigt.
Könnt ihr mir sagen, woran das liegt ? Ich habe schon sämtliche Tuts durch, und über Google habe ich auch kein Beispiel gefunden, was sich mit einem ähnlichen Problem beschäftigt.
Mit Zitat antworten
  #2 (permalink)  
Alt 14-03-2008, 12:50
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$fahrzeug[$row['id']] = $row['kategorie']; 
außerdem muss alles in ein array rein:
PHP-Code:
while($row mysql_fetch_assoc($sql)) 
{
  
$auto['fahrzeug'][$row'[id']] = $row['kategorie'];
  
$auto['preis'][$row['id']] = $row['preis'];
  
$auto['beschreibung'][$row['id']] = $row['beschreibung'];
}
return 
$auto
und dann der aufruf:
PHP-Code:
include "inc/functions.php";
$autos showcars();
print_r($autos); 
gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite

Geändert von Kropff (14-03-2008 um 12:55 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 14-03-2008, 12:54
CosmoPhobia
 Newbie
Links : Onlinestatus : CosmoPhobia ist offline
Registriert seit: Mar 2008
Beiträge: 38
CosmoPhobia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das habe ich nun geändert, aber keider noch ohne Effekt. Muss man das nicht alle in ein array stopfen und das dann returnen ? <-- Leihenhaft ausgedrückt

EDIT: Ah, dein Edit habe ich gerade erst gesehen. Das teste ich mal. Danke.

Geändert von CosmoPhobia (14-03-2008 um 12:58 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 14-03-2008, 12:56
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

siehe geänderten post.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 14-03-2008, 13:10
CosmoPhobia
 Newbie
Links : Onlinestatus : CosmoPhobia ist offline
Registriert seit: Mar 2008
Beiträge: 38
CosmoPhobia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich nehme mal an, er stellt nach den Änderungen noch nichts dar, weil die Sachen im Formular noch geändert werden müssen. Habe mich eben daran versucht, aber leider ohne Erfolg. Wie muss ich das denn umformatieren ?

EDIT: Außerdem bekomme ich folgende Fehlermeldung
Parse error: syntax error, unexpected '}' in /Applications/xampp/xamppfiles/htdocs/test/inc/functions.php on line 19
Warum dieses, die Klammer ist doch da richtig, um die function abzuschließen
Mit Zitat antworten
  #6 (permalink)  
Alt 14-03-2008, 13:22
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
    <tr>
      <td><input type="text" size="2" name="menge_fahrzeug1" value="0"></td>
      <td width="150"><?php echo htmlentities($fahrzeug[1]); ?></td><td width="100"><?php echo $preis[1]; ?> EUR</td>
      <td><?php echo htmlentities($beschreibung[1]); ?></td></tr>
     <tr>
      <td><input type="text" size="2" name="menge_fahrzeug2" value="0"></td>
      <td width="150"><?php echo htmlentities($fahrzeug[2]); ?></td><td width="100"><?php echo $preis[2]; ?> EUR</td>
      <td><?php echo htmlentities($beschreibung[2]); ?></td></tr>
     <tr>
      <td><input type="text" size="2" name="menge_fahrzeug3" value="0"></td>
      <td width="150"><?php echo htmlentities($fahrzeug[3]); ?></td><td width="100"><?php echo $preis[3]; ?> EUR</td>
      <td><?php echo htmlentities($beschreibung[3]); ?></td></tr>
also so was arbeitet man in schleifen ab.

des weiteren:
grundlagen
fehlersuche
register_globals

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 14-03-2008, 14:07
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Funktion mit SQL Query und array erstellen

Zitat:
Original geschrieben von CosmoPhobia
Leider funktioniert das überhaupt nicht, es werden keine Daten angezeigt.
Könnt ihr mir sagen, woran das liegt ?
das liegt am Geltungsbereich von Variablen $fahrzeug innerhalb der funktion ist eine andere variable als $fahrzeug außerhalb der funktion.
aber fang jetzt nicht mit global oder referenzen an, mach's lieber wie kropff vorgeschlagen hat mit einem array als return und arbeite dann das ding in einer schleife ab.
Mit Zitat antworten
  #8 (permalink)  
Alt 14-03-2008, 14:45
CosmoPhobia
 Newbie
Links : Onlinestatus : CosmoPhobia ist offline
Registriert seit: Mar 2008
Beiträge: 38
CosmoPhobia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay ich werds versuchen. Da mit globalen und lokalen Variablen war mir schon bekannt, nur die Sache mich den arrays, und diese in einer Schleife (foreach o.ä. nehme ich an) abzubauen, das wusste ich bislang noch nicht so genau. Werde mich da mal schlau machen und meine Lösung hier posten, um zu fragen, was man daran noch optimieren könnte.

Danke bis hierhin erstmal.
Mit Zitat antworten
  #9 (permalink)  
Alt 14-03-2008, 15:13
CosmoPhobia
 Newbie
Links : Onlinestatus : CosmoPhobia ist offline
Registriert seit: Mar 2008
Beiträge: 38
CosmoPhobia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habs jetzt hinbekommen, allerdings habe ich keine Schleife verwendet, weil das Forumlar, was ich nutze, eine spezielle Formatierung benötigt, weil dort nicht nur die Ergebnisse des Arrays drin stehen, sondern der Benutzer auch Mengen definieren kann.

Hier mal der Code (functions und include stehen ja schon weiter oben):

PHP-Code:
<td><input type="button" value="&lt;" onClick="spinDown(this.form.menge_fahrzeug1)">
<input type="text" size="2" name="menge_fahrzeug1" value="0" readonly="readonly">
<input type="button" value="&gt;" onClick="spinUp(this.form.menge_fahrzeug1)">
</td>
  <td width="150"><?php echo htmlentities($autos[fahrzeug][1]); ?></td>
<td width="100"><?php echo $autos[preis][1]; ?> EUR</td>
  <td><?php echo htmlentities($autos[beschreibung][1]); ?></td>
Ich denke mal, in diesem Fall ist das schon okay so, oder ?
Mit Zitat antworten
  #10 (permalink)  
Alt 14-03-2008, 15:28
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

und nochmal! es heißt:
PHP-Code:
$autos['beschreibung'
siehe auch das manuall

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #11 (permalink)  
Alt 14-03-2008, 16:56
CosmoPhobia
 Newbie
Links : Onlinestatus : CosmoPhobia ist offline
Registriert seit: Mar 2008
Beiträge: 38
CosmoPhobia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für den Hinweis, Peter. Ist ja durchaus wichtig zu wissen, sonst wundert man sich irgendwann, warum irgendwas nicht so läuft, wie gewünscht.
Ich denke ich sollte jetzt klar kommen. Bis zum nächsten mal und nochmal besten Dank.
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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:18 Uhr.