SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 22.03.2004, 19:26:46
gerhard gerhard ist offline
Junior Member
 
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 191
php-array ---> jvascript-array?

hat jemand eine idee, wie ich eine php-array auf ein javascript-array übertrage?
Mit Zitat antworten
  #2  
Alt 22.03.2004, 21:48:54
Benutzerbild von NanoCyte
NanoCyte NanoCyte ist offline
Junior Member
 
Registriert seit: Nov 2003
Beiträge: 207
NanoCyte eine Nachricht über ICQ schicken
das phparray mit foreach() durchschleifen und immer den inhalt als arrayelement in JS schreiben
Mit Zitat antworten
  #3  
Alt 23.03.2004, 06:15:19
gerhard gerhard ist offline
Junior Member
 
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 191
ist mir zu hoch ... bzw. krieg ich nicht hin:

ich habe ein php-array mit werten -
zum beispiel - aus selfPHP übernommen:

<?PHP
$var = array("Birnen","Bananen","Äpfel");

?>

und diese werte will ich auf das javscript-array übertragen:

<script type="text/javascript">
<!--
obst = newArray();

-->
</script>

wo genau "schleife" ich in php? innerhalb des javascripts?
wie?

ich weiss, ich kann php-variable auf js-variable übertragen:

script type="text/javascript">
<!--
jsvar= ' <?php echo $phpvar ?> ';
-->
</script>

(vielleicht weiss jemand eine bessere lösung??)


wenn ich das genauso mache in einer schleife:

script type="text/javascript">
<!--
for(var i = 10; i <= 36; i++)
obst[i] = ' <?php echo $var[$x] ?> ';
-->
</script>

kann das ja nicht funktionieren, weil $x, also der index des php-arrays in diesem beispiel nicht definiert ist und selbst wenn ich ihn definiere, erhöht er sich ja nicht.
wenn ich nun anstatt dessen die vorgeschlagene methode (foreach) anwende, werden ja bei jedem durchlauf der java-schleife alle php-werte hintereinander auf die variable obst[i] jedesmal übertragen, das ergebnis wird sein, dass alle obst-werte den wert des letzten foreach-durchlaufes übernehmen.

ich sth total an .... !

Geändert von gerhard (23.03.2004 um 06:27:15 Uhr)
Mit Zitat antworten
  #4  
Alt 23.03.2004, 10:36:47
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Moin,

ich versuch's mal, sollte klappen...
PHP-Code:
    <script type="text/javascript">
    <!--
    MeinArr = new Array();
    //-->
    </script>
    
<?php

$arr 
= array("A","B","C");
for (
$i 0$i count($arr); $i++) {
?>
    <script type="text/javascript">
    <!--
    MeinArr[<?php echo $i?>] = "<?php echo $arr[$i]; ?>"
    
    //-->
    </script>
<?php
}
?>
    <script type="text/javascript">
    <!--
    for (var i=0; i < MeinArr.length; ++i)
          alert(MeinArr[i]);
    //-->
    </script>
Grüsse

Christian
Mit Zitat antworten
  #5  
Alt 23.03.2004, 17:31:42
Benutzerbild von NanoCyte
NanoCyte NanoCyte ist offline
Junior Member
 
Registriert seit: Nov 2003
Beiträge: 207
NanoCyte eine Nachricht über ICQ schicken
genau das von chris ha ich gemeint. wusste nicht, wieviel PHP du kennst.

aber du kannst das ganze auch mit foreach() durchlaufen, ist für arrays einfacher durchzuschleifen

PHP-Code:
<?php
$arr 
= array("A","B","C");
$i 0;
foreach (
$arr as $value) {
?>
    <script type="text/javascript">
    <!--
    MeinArr[<?php echo $i?>] = "<?php echo $value?>"
    
    //-->
    </script>
<?php
$i
++;
}
?>
Mit Zitat antworten
  #6  
Alt 24.03.2004, 05:49:26
gerhard gerhard ist offline
Junior Member
 
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 191
perfekt! danke!

es funkt!

und da es so schön war, darf ich noch eins drauflegen?

geht das auch mit einem assoziativen array in java?

wieder von vorn: ich habe ein php-array mit den werten - um ein praktisches beispiel zu nennen: die werte des arrays sind postleitzahlen - also der einfachheit halber sagen wir: 1000, 1001, 1002 ... etc. das array nennen wir $postleitzahl

ich habe ein zweites php-array mit den werten der ortsbezeichnung in der gleichen reihung -also: $ortsname[1] = Musterort (für die plz 1000), $ortsname [2] = Beispielort (für plz 1001) etc ... und Nocheinort für die plz 1002 usw..

wenn ich nun die ortsnamen vom php.array auf ein java-array (so wie oben) übertrage, wäre es doch absolut toll, wenn das in einem assoziativem array ginge - so, dass der index des jeweiligen arrayelements (mit dem wert der ortsbereichnung) nicht eine fortlaufende zahl ist, sondern die postleitzahl --> so, dass ich dann das element mit der postleitzahl ansprechen kann (jetzt in java):

alert (ortsname[postleitzahl]); liefert mir den ortsname, der zur entsprechenden postleitzahl gehört ....

zum besseren verständnis: ich möchte bei einer eingabe aus einer mysql-datei postleitzahlen und orte einlesen, in java-arrays übertragen und damit die eingabe für den user insoferne erleichtern, als er - sobald er die postleitzahl eingibt und diese auch (im array) verhanden ist, den ortsnamen nicht mehr tippen muss, sondern der gleich im eingabefeld für den ortsnamen eingesetzt wird (oder umgekehrt - wenn er einen namen eintrippt, kommt die postleitzahl).

da ja php serverseitig läuft, kann ich das nur über javascript lösen (da ich nicht bei jeder eingabe zurück zum server will und die seite neu aufbauen will).

ich habs probiert, im obigen script anstelle des $i (dem index der javavariable) einen string einzusetzen (in meinem beispiel also die postleitzahl) --> funktioniert aber nicht

<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
<!--
ortearray = new Array();
//-->
</script>
<?php
$orte = array("A","B","C");
$plz= array ("1000","1001","1002");
$i = 0;
foreach ($orte as $value) {
$index='"'.$plz[$i].'"'; // vereinfacht die schreibweise unten
?>
<script type="text/javascript">
<!--
ortearray['<?php echo $index ?>'] = '<?php echo $value; ?>'
//-->
</script>
<?php
$i++;
}
?>
<script type="text/javascript">
<!--
for (var i=0; i < ortearray.length; ++i)
alert(ortearray[i]);
//-->
</script>
</body>
</html>

wo liegt der hund begraben?$index='"'.$plz[$i].'"';

Geändert von gerhard (24.03.2004 um 07:23:13 Uhr)
Mit Zitat antworten
  #7  
Alt 24.03.2004, 14:32:10
Benutzerbild von NanoCyte
NanoCyte NanoCyte ist offline
Junior Member
 
Registriert seit: Nov 2003
Beiträge: 207
NanoCyte eine Nachricht über ICQ schicken
also ein assoziatives array überträgts du am besten so:

PHP-Code:
<?php
$arr 
= array("nr1" => "A""nr2" => "B","nr3" => "C");

$arr_keys array_keys($arr);

$i 0;
foreach (
$arr as $value) {
?>
    <script type="text/javascript">
    <!--
    MeinArr[<?php echo $arr_keys[$i]; ?>] = "<?php echo $value?>"
    
    //-->
    </script>
<?php
$i
++;
}
?>
Mit Zitat antworten
  #8  
Alt 24.03.2004, 16:27:00
gerhard gerhard ist offline
Junior Member
 
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 191
klappt leider nicht - jedenfalls nicht so, wie ich mir das vorstelle.
habs probiert (beim oben genannten beispiel mit orten und postleitzahlen):

<html>
<head>
<title></title>
<?php
$arr = array("1000" => "Stadt", "1001" => "Dorf","1002" => "Siedlung");
$arr_keys = array_keys($arr);
$i = 0;
foreach ($arr as $value) {
?>
<script type="text/javascript">
<!--
MeinArr[<?php echo $arr_keys[$i]; ?>] = "<?php echo $value; ?>"
//-->
</script>
<?php
$i++;
}
?>
<script type="text/javascript">
<!--
function plz_ort(plz)
{
document.eingabe.ort.value=MeinArr[plz];
}
-->
</script>
</head>
<body>
<form name="eingabe" action="xx.php" method="post">
<input type="text" name="plz" value="" size="" maxlength="" onChange="plz_ort(this.value)">
<input type="text" name="ort" value="" size="" maxlength="">
</form>
</body>
</html>

ergebnis: keine übertragung der ortsbezeichnung auf das feld und meldung: "fehler auf der seite"

:-(
Mit Zitat antworten
  #9  
Alt 24.03.2004, 23:06:32
Benutzerbild von NanoCyte
NanoCyte NanoCyte ist offline
Junior Member
 
Registriert seit: Nov 2003
Beiträge: 207
NanoCyte eine Nachricht über ICQ schicken
das problem liegt bei javascript selbst
das MeinArr wurde nicht definiert
PHP-Code:
<html>
<head>
<title></title>
<script type="text/javascript">
<!--

MeinArr = new Array();

<?php
$arr 
= array("1000" => "Stadt""1001" => "Dorf","1002" => "Siedlung");
$arr_keys array_keys($arr);
$i 0;
foreach (
$arr as $value) {
?>
MeinArr[<?php echo $arr_keys[$i]; ?>] = "<?php echo $value?>"
<?php
$i
++;
}
?>

function plz_ort(plz)
{
document.eingabe.ort.value=MeinArr[plz];
}
-->
</script>
</head>
<body>
<form name="eingabe" action="xx.php" method="post">
<input type="text" name="plz" value="" size="" maxlength="" onChange="plz_ort(this.value)">
<input type="text" name="ort" value="" size="" maxlength="">
</form>
</body>
</html>
Mit Zitat antworten
  #10  
Alt 25.03.2004, 05:36:53
gerhard gerhard ist offline
Junior Member
 
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 191
danke! jetzt klappts!

oft sind es wirklich die dümmlichsten fehler, die dich zu scheitern bringen ...

womit ich jetzt noch nicht klarkomme (da ich array bisher nie so aufbereitet habe) ist das einlesen des php-arrays:

Zitat:
$arr = array("1000" => "Stadt", "1001" => "Dorf","1002" => "Siedlung");
$arr_keys = array_keys($arr);

wie bereits gesagt: ich habe eine mysql-datenbank, in einer tabelle stehen die daten (postleitzahl, ort, telefonvorwahl)

wie kann ich (nach der query-abfrage) die daten der felder in das array $arr übertragen?

$result = mysql_query ("SELECT ......");

while($row = mysql_fetch_array($result))
{


?????


} // while

Geändert von gerhard (25.03.2004 um 06:55:56 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


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


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


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt