2010-06-14 27 views
0

我想为自己的页面中的每个用户做一个标签云,我使用PHP5和Mysql,我的表被命名为“标签”,我想创建一个数组但总之就是。下面的表格,MYSQL和PHP的阵列用于创建标签云

对于user1 array = {[car,1],[cat,null],[pen,1],[dvd,1],[cd,null]},该阵列可能类似于 }

Username totaltag tag1 tag2 tag3 tag4 tag5 
    admin  5   car cat pen dvd cd 
    user1     1   1 1  
    user2     1 2 12  1 
    user3     3 2   10 1 
+0

标签的名称都在同一个表比的次数使用它们? – 2010-06-14 08:10:33

+0

看起来像Excel? – 2010-06-14 08:12:59

回答

0

更好地做到这一点:

Username  Tag 
user1  car 
user1  pen 
user1  cd 
user2  car 
user2  cat 
+0

由于在原来的例子中用户可以有几次相同的标签,我想这不是最好的解决方案 – 2010-06-14 08:23:26

0
<?php 
      $final="SELECT * FROM tags"; 
      $resultfinal = mysql_query($final); 
      if (!$resultfinal) { error('A database error occurred while checking your '); 
       } 

/* get column metadata */ 
$i = 0; 
while ($i < mysql_num_fields($resultfinal)) { 

    $meta = mysql_fetch_field($resultfinal, $i); 
    if (!$meta) { 
     echo "No information available<br />\n"; 
    } 
    $denetim="$meta->name"; 
     if ($i>3){ 
      $arrtag = "SELECT * FROM tags WHERE email = 'host'"; 
      $arrtagson = mysql_query($arrtag); 
      $arrtagbilgi = mysql_result($arrtagson,0,$denetim); 

      $arrcount = "SELECT * FROM tags WHERE email ='user1'"; 
      $arrcountson = mysql_query($arrcount); 
      $arrcountbilgi = mysql_result($arrcountson,0,$denetim); 
      echo $i."-"; 
      echo $arrtagbilgi."=>"; 
      echo $arrcountbilgi."<br />"; 

    $arr[$arrtagbilgi] = $arrcountbilgi; 
     } 
    $i++; 
} 
    ?>