הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה ביצירת מערך array (https://hosts.co.il/forums/showthread.php?t=84882)

snirk 10-09-10 13:25

עזרה ביצירת מערך array
 
שלום לכולם,

דיי נתקעתי בניסיון ליצור מערך array שאמור להישלף ממסד נתונים..
PHP קוד:

<?php
function doIt($yazran) {
switch (
$yazran) {
        
$yazra_query mysql_query("select * from carsyazran where cyname='$yazran'");
        while (
$yazra mysql_fetch_array($yazra_query)) {
$yazranname $yazra['cyname'];

case 
"$yazranname":
$ctyid $yazra['cyid'];
    
$type_query mysql_query("select * from carstype WHERE ctyid=$ctyid");
    
$type mysql_fetch_array($type_query);
$carstype $type['ctname'];
$explode explode('|'$carstype);
return array(
$explode);
break;
}
 }
}

$yazran=@$_GET['yazran'];
$cities=doIt($yazran);
foreach (
$cities as $type) {
echo 
'|'.$type;
}
?>

בעקרון זה הקוד, אני יודע שיש דרכים יותר יעילות\פשוטות, אשמח לשמוע הצעות.
בכל מקרה התוצאה שאני רוצה לקבל אמורה להיראות כך:
PHP קוד:

<?php
function doIt($country) {
switch (
$country) {
case 
"United States":
return array(
'Washington DC','New York','Los Angeles''Chicago');
break;
case 
"Australia":
return array(
'Canberra','Melbourne','Sydney''Brisbane');
break;
case 
"Japan":
return array(
'Tokyo','Osaka','Fukuoka','Sendai','Sapporo');
break;
 }
}

$country=@$_GET['country'];
$cities=doIt($country);
foreach (
$cities as $city) {
echo 
'|'.$city;
}
?>

אשמח לקבל עזרה, תודה מראש.

OrPol 10-09-10 14:09

תוריד את ה array לפני ה$explode בreturn
הEXPLODE כפונקציה מחזיר ARRAY כברירת מחדל.
תעשה return $explode;

לדעתי יצרת מערך דו מימדי בטעות ובגלל זה אתה לא יכו לגשת לנתונים

snirk 10-09-10 14:15

ציטוט:

נכתב במקור על ידי Or Polaczek (פרסם 778652)
תוריד את ה array לפני ה$explode בreturn
הEXPLODE כפונקציה מחזיר ARRAY כברירת מחדל.
תעשה return $explode;

לדעתי יצרת מערך דו מימדי בטעות ובגלל זה אתה לא יכו לגשת לנתונים

תודה.
בכל מקרה אני מקבל שגיאה בשליפת הנתונים.., אני אמור לשלוף נתונים ואז לסדר אותם במערך בדיוק כמו שבדוגמא.
קוד:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_CASE or T_DEFAULT or '}' in /home/######/domains/#####.co.il/public_html/cars_ajax.php on line 4

BlueNosE 10-09-10 16:42

תהפוך את הקטע הזה:
PHP קוד:

switch ($yazran) {
        
$yazra_query mysql_query("select * from carsyazran where cyname='$yazran'");
        while (
$yazra mysql_fetch_array($yazra_query)) {
$yazranname $yazra['cyname']; 

לזה :
PHP קוד:

        $yazra_query mysql_query("select * from carsyazran where cyname='$yazran'");
        while (
$yazra mysql_fetch_array($yazra_query)) {
$yazranname $yazra['cyname'];
switch (
$yazran) { 

הסיבה שיש שגיאה היא שSWITCH בנוי מבלוקים של CASEים, ואתה "יצרת בלוק" לפני שלא היה משוייך לשום CASE.


כל הזמנים הם GMT +2. הזמן כעת הוא 14:33.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ