2015-10-10 3 views
0

Мне нужно получить информацию от php, мой первый параметр - количество строк, которое он получит, второе - это имя, третье - это сокет, все, что у меня есть сейчас:JavaScript получить всю информацию

(код JavaScript)

$.ajax({ 

     url: 'compatibilidades.php', 
     data: { 
      socket: $("#board option:selected").attr('value') 
     }, 
     success: function(dadosRecebidos) { 

      for (i = 0; i < dadosRecebidos.substr(0, dadosRecebidos.indexOf('_')) ; i++) { 
       var selectorID = dadosRecebidos.substr(0, dadosRecebidos.indexOf('-')); 
       dadosRecebidos = dadosRecebidos.slice(dadosRecebidos.indexOf('-'),999); 

       var nome = dadosRecebidos.substr(1, dadosRecebidos.indexOf('<') - 1); 
       dadosRecebidos = dadosRecebidos.slice(dadosRecebidos.indexOf('<'),999);     

       var socket = dadosRecebidos.substr(1, dadosRecebidos.indexOf('>') - 1); 
       dadosRecebidos = dadosRecebidos.slice(dadosRecebidos.indexOf('>'),999); 

       console.log(selectorID); 
      }    

     } 

    });}} 

(PHP код)

<?php 

$socket = $_GET["socket"]; 

$bd = new PDO("mysql:host=localhost;dbname=gestao_utilizadores" , "root" , ""); 

$getComponentes = $bd->prepare("SELECT * FROM componentes WHERE (Socket=:socket)"); 
$getComponentes->bindValue(':socket' , $socket); 
$getComponentes->execute(); 
$resultado = $getComponentes->fetchAll(); 

For ($i = 0; $i < $getComponentes->rowCount() ; $i++) { 
     echo $getComponentes->rowCount() . "_" . $resultado[$i]["Tipo"] . "-" . $resultado[$i]["Nome"] . "<" . $resultado[$i]["Socket"] . "> "; 
} 

но это только печать только

+0

спасибо mate :) – AmadeuVictory

+0

rowcount не приносит количество строк для запроса выбора. попробуйте foreach ($ resultado ... –

+0

он принимает и имеет значение, которое должно отображаться (2) – AmadeuVictory

ответ

0

PDO :: rowCount гарантированно работает с запросами DELETE, INSERT и UPDATE. Он может корректно работать с SELECT в некоторых базах данных, но вы не должны полагаться на это.

PDO :: fetchAll funtion возвращает массив строк (или FALSE, если была ошибка), поэтому, если вам нужно знать количество возвращаемых строк, просто используйте count ($ resultado) или добавьте вызов COUNT (*) в вашем запросе. Если вам не нужно знать точное количество, но только для выполнения некоторых операций в каждой строке, функция Php foreach - ваш друг, как упоминалось @Julio Soares

ОБНОВЛЕНИЕ: Кажется, я не совсем понял проблема - во всяком случае, первая часть моего ответа все еще стоит. Теперь, рассматривая реальную проблему - она ​​выглядит так, как будто вы слишком сложны. Рассматривали ли вы использование JSON в качестве формата данных? Для json_encode массива очень просто, а позже - как js object/array, поэтому вы можете легко получить доступ к каждому столбцу из каждой строки без каких-либо проблем.

+0

строка recebeDados имеет всю информацию от php, цель состоит в том, чтобы разделить различные части, параметр числа в порядке, проблема в том, как отделить эти различные части. – AmadeuVictory

+0

плохой проверить это, спасибо человеку, позже я опубликую обновления – AmadeuVictory

Смежные вопросы