У меня есть веб-сайт для отображения результатов фитнес-теста, который работает на Drupal, а значения хранятся в базе данных mysql. Оригинальные данные поступают с компьютеров, подключенных к человеку, проходящему фитнес-тест, и затем помещаются в файл Excel .xls.
У меня есть скрипт, который позволяет мне загружать эти файлы .xls в базу данных, чтобы при добавлении 50-100 тестов мне не приходилось делать каждый по отдельности. Отлично работает, за исключением нулевых значений. Когда есть пустой тест, он автоматически устанавливает его на 0, но я хочу, чтобы он установил на ноль.
Существует большая разница между нулем и 0 для меня, потому что 0 означает, что они ничего не набрали (например, не смогли поднять необходимый вес на жиме лежа) по сравнению с нулем, что означает, что они не завершили тест из-за таких факторов, как травма или недоступное оборудование.
Можно ли провести различие между ними, чтобы пустая ячейка в .xls отображалась как ноль, а не 0 в базе данных? Это проблема с кодом или проблема с базой данных, где я должен попытаться сохранить ее как нечто отличное от целого или десятичного?
<?php
require_once 'Excel/reader.php';
include('db.php');
global $user;
$useriddd=$user->uid;
$message='';
$userArr=array();
$emailArr=array();
if(isset($_GET['meg']))
{
$message=base64_decode($_GET['meg']);
}
if(isset($_POST['SubmitFile']))
{
$temp_path="Excel/";
if($_FILES['fileexcel']['tmp_name']!="")
{
if($_FILES['fileexcel']['name']=='fitness.xls')
{
$var1=$_FILES['fileexcel']['name'];
move_uploaded_file($_FILES['fileexcel']['tmp_name'],$temp_path.$var1);
$path=$temp_path.$var1;
}
else
{
$var=base64_encode('You are allowed to upload excel file with name fitness.xls only');
?>
<script language="javascript">window.location='<?php echo base_path()?>upload-fitness-results?meg=<?php echo $var;?>'</script>
<?php
exit;
}
}
}
if(isset($_GET['p'])=='do')
{
$data = new Spreadsheet_Excel_Reader();
$data->read('Excel/fitness.xls');
error_reporting(E_ALL ^ E_NOTICE);
for ($j =1; $j <= count($data->sheets[0]['cells']); $j++)
{
$playeridQry=mysql_query("select uid from users where name='".addslashes($data->sheets[0]['cells'][$j][3])."'")or die(mysql_error());
$playeridRow=mysql_fetch_array($playeridQry);
//////////////////////////////////////////////////////////////////////////
$campidQry=mysql_query("select nid from node where type='training_camp' and title='".addslashes($data->sheets[0]['cells'][$j][2])."'")or die(mysql_error());
$campidRow=mysql_fetch_array($campidQry);
/***********************************player content type code***********************************/
$maxqry=mysql_query("select MAX(nid), MAX(vid) from node") or die(mysql_error());
$maxrow=mysql_fetch_array($maxqry);
$newnid=$maxrow['MAX(nid)']+1;
$newvid=$maxrow['MAX(vid)']+1;
///////////////////////////for node entry///////////////////////
$nodeinsertqry="insert into node
set
vid='".$newvid."',
nid='".$newnid."',
type='test',
title='".addslashes($data->sheets[0]['cells'][$j][1])."',
uid='".$useriddd."',
created='".time()."',
changed='".time()."',
status='1'";
mysql_query($nodeinsertqry) or die(mysql_error());
$nodnewid=mysql_insert_id();
//////////////////////////////for url_alias//////////////////
$srcc='node/'.$newnid;
$pathC=str_replace(' ','-',$data->sheets[0]['cells'][$j][1]);
$dsts='content/'.$pathC;
$insertAlias=mysql_query("insert into url_alias
set
src='".$srcc."',
dst='".$dsts."'");
////////////////revision table//////////////
$revisioninsertqry="insert into node_revisions
set
vid='".$newvid."',
nid='".$newnid."',
title='".addslashes($data->sheets[0]['cells'][$j][1])."',
uid='".$useriddd."',
format='3',
timestamp='".time()."'";
mysql_query($revisioninsertqry) or die(mysql_error());
////////////////////player content type/////////////////
$playerQry=mysql_query("insert into content_type_test set
vid='".$newvid."',
nid='".$newnid."',
field_player_uid='".$playeridRow['uid']."',
field_status_value='".addslashes($data->sheets[0]['cells'][$j][4])."',
field_training_camp_nid='".$campidRow['nid']."',
field_speed_value='".addslashes($data->sheets[0]['cells'][$j][6])."',
field_agility_value='".addslashes($data->sheets[0]['cells'][$j][7])."',
field_trx_value='".addslashes($data->sheets[0]['cells'][$j][5])."',
field_squats_value='".addslashes($data->sheets[0]['cells'][$j][8])."',
field_balance_value='".addslashes($data->sheets[0]['cells'][$j][11])."',
field_bench_value='".addslashes($data->sheets[0]['cells'][$j][10])."',
field_beep_value='".addslashes($data->sheets[0]['cells'][$j][14])."',
field_sprint__do_value='".addslashes($data->sheets[0]['cells'][$j][12])."',
field_hrdropvv_value='".addslashes($data->sheets[0]['cells'][$j][13])."',
field_chins_value='".addslashes($data->sheets[0]['cells'][$j][9])."',
field_elasticity_value='".addslashes($data->sheets[0]['cells'][$j][15])."'
")or die(mysql_error());
/********************End of player content type*************************/
}
unlink('Excel/fitness.xls');
$message=base64_encode('Data has been populated into data base and file has been deleted from the server');
?>
<script language="javascript">window.location='<?php echo base_path()?>upload-fitness-results?meg=<?php echo $message;?>'</script>
<?php
exit;
}
if(file_exists('Excel/fitness.xls'))
{
echo "fitness.xls is available....";
?>
<a href="<?php echo base_path()?>upload-fitness-results?p=do">Please Populate the file into database</a>
<?php
}
if(!file_exists('Excel/fitness.xls'))
{
?>
<form action="" method="post" enctype="multipart/form-data" name="excel" id="excel" >
<table style="width:700px; border:#CCCCCC solid 1px;" cellpadding="1" cellspacing="1">
<tr>
<td colspan="2" style="color:#FF0000;">
<?php
if(isset($message))
{
echo $message;
}
?>
</td>
</tr>
<tr>
<td width="34%" class="subjects">Choose File(fitness.xls) </td>
<td width="66%"><label>
<input name="fileexcel" type="file" id="fileexcel" />
</label></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td><td><label>
<input name="SubmitFile" type="submit" class="buttons" id="SubmitFile" value="Upload" />
</label></td>
</tr>
</table>
</form>
<?php
}
?>