2016-05-12 2 views
0

製品の平均価格をタイプ別に計算し、結果を画面に表示しました。どのようにテーブルにそれらを格納するのですか?ここに私のコードがあります。テーブルに格納する以外の方法で動作します。結果を得るために4行の結果を画面に表示し、whileループからテーブルに格納する方法

function mostrarDatos ($resultado) { 
    if ($resultado !=NULL) { 
     echo "- Promedio de Categoria ".'Producto_Prioridad'." es:".$resultado['total_average']."<br/>"; 
    } 
    else { 
     echo "<br/>No hay más datos!!! <br/>"; 
    } 
} 
$link = mysqli_connect("db", "user", "pass"); 
mysqli_select_db($link, "db"); 
$promedio = mysqli_query($link, "SELECT AVG(Producto_Precio) as total_average FROM`Natan_Productos` GROUP BY Producto_Prioridad"); 
while ($fila = mysqli_fetch_array($promedio)){ // loops 4 times and displays on screen. How to store into table as well 
    mostrarDatos($fila); 
} 
mysqli_free_result($promedio); 
mysqli_close($link); 

私が取得:

  • PromedioデCategoria Producto_Prioridad ES:150.0000 //ループ1
  • PromedioデCategoria Producto_Prioridad ES:38.3333 //ループ2
  • Promedioデカテゴリ製品プロフェッショナル種別:30.0000 //ループ3
  • プロダクトカテゴリプロダクトプライオリティ:31.6667 //ループ4

ありがとうございました。

+0

を参照してください。結果の表があります。 Natan_Procesosという名前のNatan_Procesos –

答えて

0

あなたはPHP & mysqlに精通していないと思います。

まず、結果を格納するテーブルが必要です。必要がない場合は、単純なテーブルを作成してください。

create table result_for_total_average (avg_info varchar(256)); 

次に、このように機能を変更します。

function mostrarDatos ($resultado, $link) { 
    if ($resultado !=NULL) { 
     mysqli_query($link, "INSERT INTO result_for_total_average values("."- Promedio de Categoria ".'Producto_Prioridad'." es:".$resultado['total_average'].")"); 
    }else { 
     echo "<br/>No hay más datos!!! <br/>"; 
    } 
} 
$link = mysqli_connect("db", "user", "pass"); 
mysqli_select_db($link, "db"); 
$promedio = mysqli_query($link, "SELECT AVG(Producto_Precio) as total_average FROM`Natan_Productos` GROUP BY Producto_Prioridad"); 
while ($fila = mysqli_fetch_array($promedio)){ // loops 4 times and displays on screen. How to store into table as well 
    mostrarDatos($fila); 
} 
mysqli_free_result($promedio); 
mysqli_close($link); 

私が作成したテーブルは、結果を保存するのに十分なシンプルさであり、自分で作成することができます。方法がわからない場合は、ここをクリックしてください:http://www.w3schools.com/sql/default.asp
phpとmysqlがどのように連携して動作するかを知りたい場合は、http://www.w3schools.com/php/php_mysql_intro.asp

+0

このコードで2つのエラーが発生します:警告:22番の/home/.../connect7.phpで呼び出され、/home/.../connect7.phpに定義されているmostrarDatos()の引数2がありません。 10行目の10行目はfuncion mostrarDatos ... 22はmostrarDatos(fila)です。 警告:mysqli_query()は、mysqli、nullが/home/.../connect7.phpの12行目に指定されていると想定しています12行目はmysqli_query($ link、 "INSERT INTO Natan _... –

+0

Ok。それは働くために、私は平均値でテキストを必要としませんでした。 –

0

あなたは

INSERT INTO <table-x> (<column-x>) SELECT <column-y> FROM <table-y>;

たりして、そのようなものになりますこれは、INSERT INTO SELECTステートメントを使用することができ、あなたの新製品

id (auto increment) | name | country | number 

while ($fila = mysqli_fetch_array($promedio)) 
{ 
    $product = mostrarDatos($fila); 
    // Mysql Insert 
} 
0

を挿入するためのテーブルを作成します。場合のように、

INSERT INTO Natan_Average_Productos (product) 
SELECT CONCAT("- Promedio de Categoria Producto_Prioridad es:", AVG(Producto_Precio)) AS total_average 
FROM Natan_Productos 
GROUP BY Producto_Prioridad; 
関連する問題