2010-11-27 9 views
2

J'ai une table de base de données faite dans phpmyadmin. Je veux que les éléments de la table soient stockés en rang dans un tableau. J'ai trois colonnes nommées edge_id, vertexA et VertexB. Je veux que les éléments de ces trois colonnes soient stockés dans un tableau.Stocke les éléments d'une datatable dans un tableau

Je ne connais pas ces commandes pour PHP. Sil te plait aide moi.

+0

Les plaidoyers donnent un exemple complet de ce que vous essayez d'accomplir. Voulez-vous dire le 'table' mysql ou un html'

'? Et parlez-vous de mettre le contenu de la db inot une table html ou d'imprimer le contenu d'une requête db dans une structure de table html? – prodigitalson

Répondre

2

j'ai colonnes dans ma table nommée "vertexa" et "vertexb", je veux magasin les deux dans colums séparés tableaux ... comment puis-je fais le??

La façon la plus simple serait:

$db = new PDO('mysql:host=localhost;dbname=your_db_name;', $user, $password); 
$vertices_a = array(); 
$vertices_b = array(); 

foreach($db->query('SELECT * from your_table_name') as $row){ 
    $id = $row['edge_id']; 

    // add them to the proper array using the edge_id as the index - 
    // this assumes edge_id is unique 
    $vertices_a[$id] = $row['vertexa']; 
    $vertices_b[$id] $row['vertexb']; 
} 

Donc, avec AOP:

$db = new PDO('mysql:host=localhost;dbname=your_db_name;', $user, $password); 

foreach($db->query('SELECT * from your_table_name') as $row){ 
    echo $row['edge_id']; 
    echo $row['vertexA']; 
    echo $row['vertexB']; 
} 

Maintenant, si vous avez besoin d'utiliser des données d'entrée dont vous avez besoin pour y échapper. La meilleure façon d'y parvenir est d'utiliser une instruction préparée car l'échappement est handle lorsque les paramètres sont liés à la requête.

Disons que par exemple vous voulez utiliser le edge_id fourni à partir d'une requête get comme mysite.com/show-boundry.php?edge=5 ...

$db = new PDO('mysql:host=localhost;dbname=your_db_name;', $user, $password); 

// create a prepared statement 
$stmt = $db->prepare('SELECT * from your_table_name WHERE edge_id = ?'); 

// execute the statement binding the edge_id request parameter to the prepared query 
$stmt->execute(array($_GET['edge'])); 

// loop through the results  
while(false !== ($row = $stmt->fetch(PDO::FETCH_ASSOC))){ 
    echo $row['edge_id']; 
    echo $row['vertexA']; 
    echo $row['vertexB']; 
} 

Aussi vous ne devriez pas utiliser les noms de colonnes de cas mixtes/table comme vertexA utiliser au lieu de souligner les séparateurs comme vertex_a.

+0

thnx prodige. J'espère que cela pourrait fonctionner. Laisse-moi essayer ! –

+0

J'ai des colonnes dans ma table nommée "vertexa" et "vertexb", je veux stocker les colonnes dans deux tableaux séparés ... comment puis-je le faire ?? –

+0

@prodigy: ça marche thanx bro .. !! –

2

Vous devez d'abord de se connecter à la base de données:

$link = mysql_connect('localhost','username','password'); 
if (!$link) { 
    // Cannot connect 
} 
$ret = mysql_select_db('database-name', $link); 
if (!$ret) { 
    // Cannot select database 
} 

Ensuite, vous devez exécuter votre requête:

$ret = mysql_query('SELECT * FROM `table`;', $link); 
if (!$ret) { 
    // Query failed 
} 

Ensuite, il vous suffit de charger chaque ligne:

$data = array(); 
while ($row = mysql_fetch_assoc($ret)) { 
    $data[] = $row; 
} 

Ensuite, vous devriez libérer vos résultats de demande

mysql_free_result($ret); 

Et voilà.

+0

N'utilisez que l'extension 'mysql'. utilisez 'PDO' ou' mysqli' ... de préférence PDO. – prodigitalson

Questions connexes