variabele in array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Louis Deconinck

Louis Deconinck

20/05/2014 20:10:04
Quote Anchor link
Is zoiets mogelijk zoja hoe?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$count
=1;
$name = $obj['data'][$count]['name'];
?>


Toevoeging op 20/05/2014 20:13:29:

Gevonden, het kan inderdaad, wat is er dan fout aan deze code? Hij echoot niets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
while ($fbid != '100001499511689') {
$fbid = $obj['data'][$count]['id'];
$name = $obj['data'][$count]['name'];
$result1=mysqli_query($link, "INSERT INTO debron1996 (fbid, name, rating, gender) VALUES ($fbid, $name, 1500, 'm')")
$count++;
echo "$name IS $count";
}

?>
Gewijzigd op 20/05/2014 20:15:52 door Louis Deconinck
 
PHP hulp

PHP hulp

29/03/2024 12:16:17
 
Ivo P

Ivo P

20/05/2014 20:19:50
Quote Anchor link
missende ; achter regel 5?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 20:21:50
Quote Anchor link
Je moet count definiëren voordat je de while ingaat.

Toevoeging op 20/05/2014 20:23:24:

>>missende ; achter regel 5?

En dat natuurlijk ook (ik kijk niet verder dan dat mijn scherm breed is)
 
Louis Deconinck

Louis Deconinck

20/05/2014 20:27:52
Quote Anchor link
Hier is het hele script, heb de twee errors aangepast maar nog steeds geen output van de echo

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$link=mysqli_connect("***");

$a = {
   "data": [
      {

         "name": "Besart Selmani",
         "administrator": false,
         "id": "100001621899610"
      },
      {

         "name": "Kelly Bearelle",
         "administrator": false,
         "id": "100007926395162"
      },
      ***
   ]
}


$obj = json_decode($a);

$count = 0;

while ($fbid != 100001499511689) {
$fbid = $obj['data'][$count]['id'];
$name = $obj['data'][$count]['name'];
$result1=mysqli_query($link, "INSERT INTO debron1996 (fbid, name, rating, gender) VALUES ($fbid, $name, 1500, 'm')");
$count++;
echo "$name IS $count";
}

?>
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 20:33:05
Quote Anchor link
Je spreekt $obj[data] aan als een normale array. Maar het is een array van objecten. Doe eens var_dump op $object.
Gewijzigd op 20/05/2014 20:34:55 door Ger van Steenderen
 
Louis Deconinck

Louis Deconinck

20/05/2014 20:35:44
Quote Anchor link
Je hebt gelijk de fout zit daar inderdaad, hoe oplossen?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 20:40:40
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
foreach ($obj->data as $data) {
    if ($data->id != '....') {
        echo $data->id, ',', $data->name
    }
}

?>
Gewijzigd op 20/05/2014 20:41:01 door Ger van Steenderen
 
Louis Deconinck

Louis Deconinck

20/05/2014 20:43:03
Quote Anchor link
Waar moet ik dit plaatsen en waar staan de puntjes voor?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 20:47:17
Quote Anchor link
In plaats van de while, het is gewoon een voorbeeldje.
Zelf ook nadenken ....
 
Louis Deconinck

Louis Deconinck

20/05/2014 20:49:43
Quote Anchor link
Is het niet mogelijk om de variable om te vormen in zoiets: $fbid = $obj->data[$count]->id; of iets dergelijks?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 21:04:09
Quote Anchor link
Nee, let op de kleurtjes in je post. In PHP vertaal je een json string naar een object dus moet het ook een string zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$a
= '{
   "data": [
      {
         "name": "Besart Selmani",
         "administrator": false,
         "id": "100001621899610"
      },
      {
         "name": "Kelly Bearelle",
         "administrator": false,
         "id": "100007926395162"
      }
   ]
}'
;

$obj = json_decode($a);
var_dump($obj);
?>

resultaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
object(stdClass)#1 (1) {
  ["data"]=>
  array(2) {
    [0]=>
    object(stdClass)#2 (3) {
      ["name"]=>
      string(14) "Besart Selmani"
      ["administrator"]=>
      bool(false)
      ["id"]=>
      string(15) "100001621899610"
    }
    [1]=>
    object(stdClass)#3 (3) {
      ["name"]=>
      string(14) "Kelly Bearelle"
      ["administrator"]=>
      bool(false)
      ["id"]=>
      string(15) "100007926395162"
    }
  }
}
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.