我正在尝试制作一个倍增系统,为消费者提供我认为他们会喜欢的产品结果。我是 PHP 和 MYSQL 的新手,所以如果您能添加一些解释,那就太好了!如果没有,那我会想办法的!
因此,每个产品都会获得 1-3 的评分。
________________________________________________
名称 |柔软度 |温暖
第 1 项 | 2 | 1
第 2 项 | 3 | 3
第 3 项 | ... | ...
... | ... | ...
在产品页面上,它询问消费者他们在寻找什么。
柔软度[菜单 1-3]
温暖 [菜单 1-3]
我希望下拉菜单的值与 mysql 数据库中的列值相乘。
客户选择柔软度:1 保暖度:2 项目 1 : 2, 2 第 2 项:3、6 第 3 项:等 继续所有产品
然后它将显示具有最高值的前 3 个项目。
问题页面:
How important is softness in your product?
<input id="1" type="radio" name="softness" value="-1.0">
<label for="1">Not very important</label>
<input id="2" type="radio" name="softness" value="0" checked>
<label for="2">Neutral</label>
<input id="3" type="radio" name="soft" value="1.0">
<label for="3">Very important</label>
How important is warmth in your product?
<input id="1" type="radio" name="warmth " value="-1.0">
<label for="1">Not very important</label>
<input id="2" type="radio" name="warmth " value="0" checked>
<label for="2">Neutral</label>
<input id="3" type="radio" name="warmth " value="1.0">
<label for="3">Very important</label>
This is all I got so far...
<?php
// Connect SQL
include"database/sqlcon.php";
// Select Database
$query = mysql_query(
"SELECT * FROM product LIMIT 3"
);
if(!$query) {
die(mysql_error());
}
// Get Form Values
$softness= $_POST['softness'];
$warmth= $_POST['warmth'];
while($row = mysql_fetch_array($query)) {
$productname = $row['product'];
$productsoft= $row['soft'];
$productwarm = $row['warm'];
}
$totalsoft = $productsoft * $softness;
$totalwarm = $productwarm * $warmth;
mysql_close();
?>
最佳答案
如果是帖子,而且你用的是mysql PDO
if(isset($_POST))
{
$items = $db->query("select * from items");
$row_items = $items->fetch();
$weight_values = array();
$x= 0;
do{
$weight_values[$x]['1'] = $_POST['Softness']*$row_items['softness'];
$weight_values[$x]['2'] = $_POST['Warmth']*$row_items['warmth'];
$x++;
}while($row_items = $items->fetch());
}
然后你可以从数组中回显值。 基本上,您正在访问项目表中的所有信息,然后您将在 while 循环中逐一检查它。对于每一行,您要将数据库中的值乘以发布的值,然后将该值放入一个数组中。
然后您可以使用
访问该数组echo $weight_values[0][1]; //for item with id 1 softness value
echo $weight_values[0][2]; //for item with id 1 warmth value
如果您使用 mysql你不应该按照链接中的原因给出
if(isset($_POST))
{
$query_items("select * from items");
$items = mysql_query($query_items,$items_db) or die(mysql_error());
$row_items = mysql_fetch_assoc($items);
$weight_values = array();
$x= 0;
do{
$weight_values[$x]['1'] = $_POST['Softness']*$row_items['softness'];
$weight_values[$x]['2'] = $_POST['Warmth']*$row_items['warmth'];
$x++;
}while($row_items = mysql_fetch_assoc($items));
}
关于PHP/MYSQL 将每一行的每一列乘以所选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31798879/
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in
在Ruby中,是否有一种简单的方法可以将n维数组中的每个元素乘以一个数字?这样:[1,2,3,4,5].multiplied_by2==[2,4,6,8,10]和[[1,2,3],[1,2,3]].multiplied_by2==[[2,4,6],[2,4,6]]?(很明显,我编写了multiplied_by函数以区别于*,它似乎连接了数组的多个副本,不幸的是这不是我需要的)。谢谢! 最佳答案 它的长格式等价物是:[1,2,3,4,5].collect{|n|n*2}其实并没有那么复杂。你总是可以使你的multiply_by方法:c
我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin
我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它
我正在尝试绕过rails配置这个极其复杂的迷宫。到目前为止,我设法在ubuntu上设置了rvm(出于某种原因,ruby在ubuntu存储库中已经过时了)。我设法建立了一个Rails项目。我希望我的测试项目使用mysql而不是mysqlite。当我尝试“rakedb:migrate”时,出现错误:“!!!缺少mysql2gem。将其添加到您的Gemfile:gem'mysql2'”当我尝试“geminstallmysql”时,出现错误,告诉我需要为安装命令提供参数。但是,参数列表很大,我不知道该选择哪些。如何通过在ubuntu上运行的rvm和mysql获取rails3?谢谢。
我是编程新手,正在尝试遵循使用#!用ruby评论。我一直收到消息:bash:matz.rb:找不到命令我正在使用这个评论:#!/usr/bin/envruby我试过有和没有后面的空格!以及有和没有环境。当我使用$哪个rubyruby在:/usr/bin/ruby我还进入了操作系统,将所有用户对文件matz.rb的权限更改为rwx,但没有任何效果。是我做错了什么还是我的系统设置不正确? 最佳答案 /usr/bin/env部分没问题。运行时需要为bash提供matz.rb的路径。如果您在matz.rb所在的目录中,请键入“./matz.
我搜索了一下,但我一定是使用了错误的术语-ruby是否有办法grep查找字符串/正则表达式并返回周围的5行(上方和下方)?我知道我可以调用"grep-C5..."或什至编写我自己的方法,但这似乎是ruby应该有的东西,我只是没有使用正确的搜索词。 最佳答案 您可以使用正则表达式来完成。这是我们要搜索的字符串:s=%{ThefirstlineThesecondlineThethirdlineThefourthlineThefifthlineThesixthlineTheseventhlineTheeightlineThenin
目录1、yum安装mysql修改密码(1)在mysql里面修改(2)第二种方式,利用mysqladmin修改密码2、没有密码,登录mysql修改密码3、mysql的安全设置1、yum安装mysql在CentOS中默认安装有MariaDB(MySQL的一个分支),安装完成之后可以直接覆盖MariaDB。rpm-qa|grepmariadb查询是否安装了mariadbrpm-e--nodepsmariadb-libs-5.5.60-1.el7_5.x86_64卸载mariadwgethttp://dev.mysql.com/get/mysql57-community-release-el7-11.