Javascript->(Ajax?)->Php->Mysql

Also bevor WIR uns jetzt hier weiter den Kopf zerhauen ...

an TO :

eigne dir bitte erstmal die Grundlagen zu HTML , JavaScript und PHP an ... das ist ja schon echt fies mit was du hier um dich wirfst ... ich sage nur
Code:
<script type="text/php">
Warum wird die .html nicht ausgeführt ? Es kann sein das im Server nur .php für PHP aktiviert wurde ... .html jedoch nicht.

Und wenn du dann mal irgendwann die Grundlagen zu JavaScript und PHP hast ... dann hier ein sehr einfaches und wirklich verständliches ANFÄNGER-Tut zum Thema AJAX

http://www.youtube.com/watch?v=0CMTQtnZ0G0

Es ist zwar englisch ... aber noch einfacher geht es wirklich nicht mehr. Was du hierfür natürlich brauchst : ein wenig Grundlagen in JavaScript und PHP ... ohne das wirst du es nicht hinbekommen und wir sind auch nicht dazu es dir beizubringen wenn du keine Eigeneinitiative zeigst ...
Wenn du willst das jemand anderes es einfach für dich zusammenzimmert melde dich in der Job-Börse.

Tut mir leid wenn das so aggressiv klingt ... aber du zeigst überhaupt keinen Willen dir mal auch ein wenig Grundlagen anzueignen. Wenn du noch nicht mal weis WO PHP überhaupt ausgeführt wird , nämlich auf dem Server , dann solltest du dir ganz schnell Grundlagen aneigenen.

Persönlich kann ich die beiden PHP-Bücher von Michael Seeboerger-Weichselbaum empfehlen http://seebi.de
Damit habe ich auch mal angefangen. Zu HTML und JavaScript findest du alles auf SelfHTML.
 
Ich versuche mich damit zu beschäftigen, wie man hier wohl auch an den Uhrzeiten sehen kann.
Es ist einfach frustrierend nach 3 Stunden Googeln "kleinigkeiten" nicht zum laufen zu bringen.
Aber ich verstehe schon was du meinst...

Topic: Ich hab soweit alles zum laufen bekommen, bis auf den zugriff(aus JS) auf die Variablen im php script.

HTML:
 <script type="text/javascript">
		var t='fghfgh';
		var bilder = new Array();
		var beschreibungen = new Array();
		<?php
                .......
		$mysqlhost="localhost";
		.......
		?>		
              <script src="js/sencha-touch.js" type="text/javascript"></script>
              <script src="js/index.js" type="text/javascript"></script>
		</script>
Das ist meine Index.html.
Ich habe mit hier zum testen eine Variable t angelegt und versuch aus meinem JS darauf zuzugreifen.
Was so nicht funktioniert, aber wenn ich die Variable direkt in meiner JS erzeuge geht alles wunderbar.

Woran kann das liegen muss ich was besonderes beachten (Syntax technisch?)

Javascript:
	   var f1={
		   style:"background-color: #B22222; color:white;",
		   titel:"f1",html:t
	   };
Das ist ein Ausschnitt aus meiner JS. Ich will quasi nur den String, aus der Variable t, als Ausgabe bekommen.

Misu
 
bis auf den zugriff(aus JS) auf die Variablen im php script

Wenn du Grundlagen in BEIDEN Sprachen hättest ... dann wüsstest du

DAS DAS NICHT GEHT !

PHP ist eine Script-Sprache welche als WebServer-Extension geladen und auch von diesem ausgeführt wird ... BEVOR auch nur der HTTP-Header zurück an den Browser geht.

JavaScript ist eine Script-Sprache welche durch den Browser local auf dem Client ausgeführt wird. Und zwar erst nach dem die komplette Seite vom Server empfangen und damit begonnen wurde das Script abzuarbeiten.

Eine dierekte Kommuniktaion ist NICHT möglich !

Das einzige was du machen kannst ist Daten von PHP in String-Form in eine JavaScript-String-Variable packen ... und dann damit unter JS weiter arbeiten ... aber mehr auch nicht. Du kannst keine Objekte *so fern es sowas überhaupt in JS gibt* aus PHP in JS übertragen.
Und von JS an PHP geht es nur über AJAX und ein PHP-Script welches die gegenseite dazu darstellt.


Wie gesagt : wenn du dir auch erstmal nur den Gedanken machen würdest vielleicht erstmal EINE der beiden Sprachen in ihren Grundlagen zu lernen und nicht gleich beides gleichzeitig in Kombination mit AJAX und MySQL ... dann wüsstest du das das so wie du es vorhast einfach so nicht möglich ist.
 
HTML:
 <script type="text/javascript">
		var t='fghfgh';
		var bilder = new Array();
		var beschreibungen = new Array();
		<?php
                .......
		$mysqlhost="localhost";
		.......
		?>		
              <script src="js/sencha-touch.js" type="text/javascript"></script>
              <script src="js/index.js" type="text/javascript"></script>
		</script>
So kann das auch nicht funktionieren. Das schließende SCRIPT-Tag für den ersten SCRIPT-Bereich ist falsch gesetzt. Du musst den SCRIPT-Bereich vor den anderen SCRIPT-Bereichen schließen.
PHP:
<script type="text/javascript">
    var t='fghfgh';
    var bilder = new Array();
    var beschreibungen = new Array();
    <?php
        ...
        $mysqlhost="localhost";
        ...
    ?>
</script>
<script src="js/sencha-touch.js" type="text/javascript"></script>
<script src="js/index.js" type="text/javascript"></script>

Gruß
 
@ Raisch: hab ich auch so sorry. Funktioniert dennoch nicht.

@ SpikEe: Ich glaub du verstehst nicht wobei sheel mir helfen wollte. Ich möchte auch garnicht auf die Variable zugreifen, was ich möchte ist die Variable (die Arrays) an ein JS script übergeben. Deswegen doch auch die Diskusion über die "Globalen" Variablen. Laut Sheel ist das möglich, weil mein Ausgangspunkt am Anfang war genau dieses Problem.
Quasi im Javascript eine Datenbank abfrage zu machen und das ich an dieser stelle Ajax brauche ist mir klar. Dazu wollte ich mir hier Infos einholen.
Sheel meinte dann zu mir das es anders geht.
Du sagst mir nun, dass es nur möglich ist in einer String form.

Meine Frage nun:

Wie mach ich dies hier "String-Form in eine JavaScript-String-Variable packen " und wie greife(übergebe) ich das an andere JS files? Z.b. an meinem Beispiel da oben.

@ SpikEe: Ist das sinnvol oder wäre es doch eine bessere lösung mit Ajax zu arbeiten?
 
Ajax: Das haben wir doch schon alles durchgekaut.
Wenn du die Bilder und Beschreibungen genausogut nur am Anfang laden kannst, dann mach das doch.
Ajax verkompliziert das dann nur unnötig.

String-Form: Was meinst du damit?

"Funktioniert nicht": Siehe Signatur, dritte Zeile.
Fehlerkonsole?

edit: Pack einmal nur den <?php...?>-Teil allein in eine eigene PHP-Datei.
Ruf die auf und zeig uns den Seitenquelltext vom Browser.
 
Ok ... ganz dirty ... so übergibt man einen String aus PHP an JavaScript
Code:
<script type="text/javascript">
var stringVar="<?php echo $var1 ?>";
</script>
Dann hat nachher im JavaScript die Variable stringVar den Inhalt den $var1 in PHP hatte.
Daraus baust du dir nun mit for() ein Array und schon hast du das was du wolltest.
 
Der Seitenquelltext vom Browser.
PHP:
<?php
		$mysqlhost="x";
		$mysqluser="x";
		$mysqlpwd="xx";
		$mysqldb="x";
		
		$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
		("Verbindungsversuch fehlgeschlagen");
		
		mysql_select_db($mysqldb, $connection) or die
		("Konnte die Datenbank nicht waehlen.");
		
		$sql = "select a.id, b.id, a.bild as datei, b.beschreibung as desc from bilder a, beschreibungen b 					           where a.id = b.id oderder by 1";
		
		$qu = mysql_query($sql) or die("Anfrage nicht erfolgreich");
		
		$x = 0;
		
		while ($row = $qu->fetch_assoc()) {
			echo 'bilder[' . $x . '] = ' . $row['datei'] . ';';
			echo 'beschreibungen[' . $x . '] = ' . $row['desc'] . ';';
			$x += 1;
		}
		
		?>

String-Form im Bezug auf

Wenn du Grundlagen in BEIDEN Sprachen hättest ... dann wüsstest du
Das einzige was du machen kannst ist Daten von PHP in String-Form in eine JavaScript-String-Variable packen ... und dann damit unter JS weiter arbeiten ... aber mehr auch nicht.

Mit geht nicht mein ich: Das der Browser weiß bleibt und nix passiert, wenn ich auch die var t zugreifen will.

Ich versuche das nun mit echo wie SpikEe es geschrieben hat.

Misu
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück