Jump to content

Archived

This topic is now archived and is closed to further replies.

nabilfx

Inserir float score em Mysql

Recommended Posts

estou mandando um score float do Unity para mysql, um exemplo, o score e um float 8.63 mas registra 8.00 no mysql.

O que pode estar dando errado, o script em java que manda o score do Unity para Mysql?
Help please...

Share this post


Link to post
Share on other sites

Provavelmente seja o script mesmo, mas sem nenhuma informação da estrutura da tabela, comando SQL, ou código e descrição do erro, só a dúvida em si, não ajuda em nada na solução do problema.

Share this post


Link to post
Share on other sites

aqui a estrutura da tabela.

<?php
	include('ServerConnect.php');
	$connection = Connect();//Attempt to Connect to MYSQL Server & DataBase
	//Get variables from Unity
	$mode = $_POST['mode'];
	$table = $_POST['table'];
	if($mode == 0){ //Create current table
		$sql = "CREATE TABLE $table(id INT(10) AUTO_INCREMENT,
		PRIMARY KEY(id),
		name VARCHAR(25),
		score float(10),
		date VARCHAR(25))"; //we keep date a varchar in the database
		$result = mysql_query($sql) or Die('Query failed: ' . mysql_error()); 
		echo $table.' Created'; exit;
	}else if ($mode == 1){
		//Delete scores below input score
		$score = $_POST['score'];
	    $sql = "DELETE FROM $table WHERE score < '$score'";
		$result = mysql_query($sql) or Die('Query failed: ' . mysql_error()); 	
		echo 'Deleted'; exit;
	}else if ($mode == 2){
		//Delete scores below posted date
		$date = strtotime($_POST['date']);
		$sql = "DELETE FROM $table WHERE date < '$date'";
		$result = mysql_query($sql) or Die('Query failed: ' . mysql_error()); 
		echo 'Deleted'; exit;
	}
?>

Share this post


Link to post
Share on other sites

No trecho de criação da tabela, o campo float deve ser especificado o número de casas decimais, por exemplo, valor float(10,3) para três casas decimais, do contrário, mesmo que coloque as casas decimais, elas não serão aceitas.

Share this post


Link to post
Share on other sites

Desculpe, me equivoquei, depois de fazer alguns testes notei que não há problema em criar o campo desta forma, mas para este caso, são inseridos os primeiros números informados, considerando o separador de milhar (".") como um caractere e reservando um caractere para armazenar se o valor é positivo ou negativo.

 

Mande o comando INSERT pra ver se pode estar aí o problema.

Share this post


Link to post
Share on other sites

troque, pra 10,3 criei uma nova tabela, mesmo assim, se mando 2165.983 ele entra 2165.000

 

você que ver algo mais para ver se achamos o problema

 

Como você fez para "mandar" o valor?

Share this post


Link to post
Share on other sites

o valor e gerado, com um numero random float, no Playmaker e um plugin do Unity, ai ele gera a pontuacao, tipo 89543.01 esse valor insiro ele no script que veio junto com a compra que fiz no asset store da unity, se chama send Highscore.

 

tinha uma variável privada, então coloque a variável publica, depois insiro o valor float random do playamaker no script, através do set property. e clico em send.

 

Aqui pra vc ver o script em java que mandar o score pro mysql pra vc ver

#pragma strict
import System.Security.Cryptography;
import System.Text;

@script ExecuteInEditMode()

enum TrackingType{FreeEntry,TrackProgress}
var trackType : TrackingType = TrackingType.FreeEntry;
enum DeveloperType{debug,live}
var developmentMode : DeveloperType = DeveloperType.live;

private var secretKey : String = "test";
var sendScoreURL : String = "http://nfx.comuv.com/.../SendHighScores.php?";
var getScoresURL : String = "http://nfx.comuv.com/.../GetHighScores.php?";
var resetScoresURL : String = "http://nfx.comuv.com/.../ResetHighScores.php?";
var registerUserURL : String = "http://nfx.comuv.com/.../RegisterUser.php?";
var getUserScoreURL : String = "http://nfx.comuv.com/.../GetUserScore.php?";
var DatabaseToolsURL : String = "http://nfx.comuv.com/.../DatabaseTools.php?";
//Modules Done
class Module{
	var showStatus : boolean = true;
	var showScores : boolean = true;
	var showUserScore : boolean = true;
	var showSendScore : boolean = true;
	var showDifficultySwitch : boolean = true;
	var showScopeSwitch : boolean = true;
}
var displayOptions : Module;
//Class That contains 
class Mode{
	var displayName : String = "Easy";
	var playerPrefsName : String = "Easy";
	var databaseName : String = "Easy";
}
var difficultyModes : Mode[];
var startDifficultyMode : int = 0;
private var modeIndex : int = 0;
//Score Scope
private var scoreScopeText : String = "Global";//AllTime,Daily
private var currentScope : String = "AllTime";
class ScoreScopeSettings{
	var dailyName : String = "Daily";
	var allTimeName : String = "Global";
}
var scoreScope : ScoreScopeSettings;
//Get HighScores Fields(keep the same lenght)
private var serverHighScores : String[] = new String[0];
private var scrollView : Vector2;
var scoreType : String = "Points";
var maxHighScores : int = 1000;
//Send HighScores Fields
private var serverHighScoreName : String = "";
var maxNameCharacters : int = 20;
//Reset  HighScores Fields
var resetNames : int = 100;
var minResetScore : int = 100;
var maxResetScore : int = 1000;
//Bad Names
var blockBadNames : boolean = true; //Block names from bas names list
var badNamesList : TextAsset;  //List Of bad names
//PlayerPrefsName
var existingNamePlayerPrefs : String = "playerName";
//Rects
var sendScoresOffsetRect : Rect = new Rect(450,150,250,30);
var getScoresOffsetRect : Rect = new Rect(450,100,100,25);
var scoreScopeOffsetRect : Rect = new Rect(300,100,100,25);
var messageOffsetBox : Rect = new Rect(450,-150,250,25);
var localScoreOffsetRect : Rect = new Rect(450,-105,250,25);
var serverScoreOffsetRect : Rect = new Rect(450,-60,250,40);
var scoresListOffsetRect : Rect = new Rect(150,150,380,350);
private var baseRect : Rect = new Rect(Screen.width * .5F,Screen.height * .5F,100F,100F);
//status






private var year : int = 2012;
private var month : int = 9;
private var day : int = 1;
private var debugScore : int = 0;
private var deleteScore : int = 0;
 public  var localScore : float = 0;
private var serverScore : float = 0;
private var serverRank : float = 0;
private var status : String = ""; //Status of Server Operations
private var runningHsServer : float = 0; //Are we doing server side operations
private var runningTrack : float = 0; //Are we seeking player status
//skin
var skin : GUISkin;

function DatabaseTools(mode : int ,tables : Mode[]){
	if(runningHsServer == 1){status = "Still Running"; return;}
	runningHsServer = 1; status = "Running";
	//0 = create tables
	var hsFm : WWWForm = new WWWForm();
	hsFm.AddField("mode",mode);
	for(var md : Mode in tables){
		hsFm.AddField("table",md.databaseName);	
		var hs : WWW = new WWW(DatabaseToolsURL,hsFm);
		yield hs;
		if(hs.text.Equals("Created")){status = "Database Created";}
		else{status = "Error Occured";}
		Debug.Log(hs.text);
	}
	//Stop Running
	runningHsServer = 0;
	SynchTable();
}

function DatabaseTools(mode : int,table : String){
	if(runningHsServer == 1){status = "Still Running"; return;}
	runningHsServer = 1; status = "Running";
	//Modes
	// 1 = delete by score
	// 2 = delete by date
	var hsFm : WWWForm = new WWWForm();
	hsFm.AddField("mode",mode);
	if(mode == 1){
		hsFm.AddField("table",table);
		hsFm.AddField("score",deleteScore);
	}else if(mode == 2){
		hsFm.AddField("table",table);
		hsFm.AddField("date",year+"/"+month+"/"+day);
	}
	var hs : WWW = new WWW(DatabaseToolsURL,hsFm);
	yield hs;
	if(hs.text.Equals("Created")){status = "Database Created";}
	if(hs.text.Equals("Deleted")){status = table +" Entries Cleaned";}
	
	else{status = "Error Occured";}
	Debug.Log(hs.text);
	//Stop Running
	runningHsServer = 0;
	SynchTable();
}

function ResetHighScores(table : String,mode : String){
	if(runningHsServer == 1){status = "Still Running"; return;}
	runningHsServer = 1; status = "Running";
	//
	var hsFm : WWWForm = new WWWForm();
	hsFm.AddField("table",table);
	hsFm.AddField("mode",mode);
	hsFm.AddField("count",resetNames);
	hsFm.AddField("min",minResetScore);
	hsFm.AddField("max",maxResetScore);
	var hs : WWW = new WWW(resetScoresURL,hsFm);
	yield hs;
	//Update
	status = hs.text;
	//Running
	runningHsServer = 0;
	SynchTable();
}

function GetUserScore(table : String,name : String){
	runningTrack = 1;//We are seeking user stats
	//
	serverRank = 0;
	serverScore = 0;
	//Get User Score
	var hsFm : WWWForm = new WWWForm();
	hsFm.AddField("name",name);
	hsFm.AddField("table",table);
	hsFm.AddField("hash",GetHash(name));
	var hs : WWW = new WWW(getUserScoreURL,hsFm);
	yield hs;
	Debug.Log(hs.text);
	if(hs.text != "Not Found" && !hs.text.Contains("Query failed")){
		var userData : String[] = hs.text.Split(':'[0]);
		//Process Results
		if(userData[1] != null)serverRank = float.Parse(userData[1]);
		if(userData[2] != null)serverScore = float.Parse(userData[2]);
	}
	else if(hs.text == "Not Found"){
		PlayerPrefs.SetFloat("nameRegistered",0);
	}
	runningTrack = 0;
}

function GetHighScores(table : String,scope : String,limit : int){
	if(runningHsServer == 1){status = "Still Running"; return;}
	runningHsServer = 1; status = "Running";
	//Get HighScores
	serverHighScores = new String[maxHighScores];
	for(var st : float = 0;st<serverHighScores.Length;st++){
		serverHighScores[st] = "Loading....";
	}	
	var hsFm : WWWForm = new WWWForm();
	hsFm.AddField("table",table);
	hsFm.AddField("scope",scope);
	hsFm.AddField("limit",limit);
	hsFm.AddField("hash",GetHash(table));
	var hs : WWW = new WWW(getScoresURL,hsFm);
	yield hs;
	
	if(hs.text.Length > 0){
		serverHighScores = hs.text.Split('%'[0]);
		status = "Found "+table+" HighScores";
		Debug.Log("Found HighScores: " + scope+" :" +table);
	}else{
		status = "No "+scope+" Scores";
		Debug.Log("No "+scope+" Scores");
	}
	//Stop Running
	runningHsServer = 0;
	//Get User Stats If Tracking is On & We are Registered
	if(trackType == TrackingType.TrackProgress && PlayerPrefs.GetFloat("nameRegistered") == 1){
		StartCoroutine(GetUserScore(difficultyModes[modeIndex].databaseName,serverHighScoreName));
	}
}

function SendHighScores(table : Mode,name : String,score : int,difficultyModesSet : Mode[]){
	if(runningHsServer == 1){status = "Still Running"; return;}
	runningHsServer = 1; status = "Running";
	//Check If We Have Beat Our Own Score First
	if(developmentMode == DeveloperType.live){
		if(PlayerPrefs.GetFloat(table.playerPrefsName) <= PlayerPrefs.GetFloat("sent"+table.playerPrefsName)){
			status = table.displayName + " Score Previously Submitted"; 
			runningHsServer = 0;
			return;		
		}
	}
	//Trim
	if(name.Length > maxNameCharacters){
		runningHsServer = 0;
		status = "Name Too Long"; return;	
	}
	//Scan & Check Name
	if(blockBadNames && CheckName(name).CompareTo("offensive") == 0){
		runningHsServer = 0;
		status = "Chosen Name Is Offensive"; return;	
	}
	var updating : int = 0; //0 = no we are making a free entry/1 = updating entry
	var newRegistration : int = 0; //We are doing a new registration
	if(trackType == TrackingType.TrackProgress){
		if(PlayerPrefs.GetFloat("nameRegistered") == 0){ // We are not yet registred
			newRegistration = 1;
			status = "Registering User";
			var finalResult : String = "";
			var tables : String = "";
			for(var m : int = 0; m < difficultyModesSet.Length; m++){//Create a list of tables to send
				if(m < difficultyModesSet.Length -1){
					tables += difficultyModesSet[m].databaseName + " ";	
				}else{
					tables += difficultyModesSet[m].databaseName;		
				}
			}
			var rsFm : WWWForm = new WWWForm();
			rsFm.AddField("name",name);
			rsFm.AddField("tables",tables);
			rsFm.AddField("hash",GetHash(name));
			var rs : WWW = new WWW(registerUserURL,rsFm);
			yield rs;
			Debug.Log(rs.text+" : "+table.displayName);
			finalResult = rs.text;
			if(finalResult.Equals("Already Used")){
				runningHsServer = 0;
				status = "Name Already Used"; return;
			}else if(finalResult.Equals("Registration Complete")){//We Registered Now Update Score
				PlayerPrefs.SetFloat("nameRegistered",1);	
				PlayerPrefs.SetString("registeredName",name);
			}else{
				runningHsServer = 0;
				status = finalResult; return;
			}
		}
		updating = 1; //We need to update entry now
	}
	//SEND OR UPDATE SCORE
	status = "Running"; //Run Again
	var hsFm : WWWForm = new WWWForm();
	hsFm.AddField("table",table.databaseName);
	hsFm.AddField("name",name);
	hsFm.AddField("score",score);
	hsFm.AddField("updating",updating);
	hsFm.AddField("hash",GetHash(name));
	var hs : WWW = new WWW(sendScoreURL,hsFm);
	yield hs;
	Debug.Log(hs.text+" : "+table.displayName);
	//Process Results
	if(hs.text.Contains("Accepted")){
		//Update Score For Anti Spamming
		PlayerPrefs.SetFloat("sent"+table.playerPrefsName,PlayerPrefs.GetFloat(table.playerPrefsName));
		if(newRegistration == 1){
			status = "Registered & " + table.displayName +" Score Submitted"; 	
		}else{
			status = "New "+ table.displayName +" Score Submitted";
		}
	}
	//Stop Running
	runningHsServer = 0;
	yield new WaitForSeconds(1); //Wait A Second Before Synch
	SynchTable();
}

function SynchTable(){//Update
	StartCoroutine(GetHighScores(difficultyModes[modeIndex].databaseName,currentScope,maxHighScores));	
}
function CheckName(usedName : String) : String{ //Make sure imput name is clean
	var names : String[] = badNamesList.text.Split('\n'[0]); 
	for(var n : String in names){
		if(usedName.Trim().ToLower().IndexOf(n.Trim().ToLower()) > -1){
			return "offensive";
		}
	}
	return "clean";
} 
function GetHash(usedString : String): String{ //Create a Hash to send to server
	var md5 : MD5 = MD5.Create();
	var bytes : byte[] = Encoding.ASCII.GetBytes(usedString+secretKey);
	var hash : byte[] = md5.ComputeHash(bytes);
	
	var sb : String = "";
	for(var i : int = 0; i < hash.Length; i++){
	    sb += hash[i].ToString("x2");
	}
	return sb;
}

function Start(){
	status = "";
	runningHsServer = 0;
	runningTrack = 0;
	StopAllCoroutines();
	//Name Operations
	if(existingNamePlayerPrefs != ""){
		serverHighScoreName = PlayerPrefs.GetString(existingNamePlayerPrefs);
	}
	//Get Base
	startDifficultyMode = Mathf.Clamp(startDifficultyMode,0,difficultyModes.Length-1); //To avoid runtime errors
	modeIndex = startDifficultyMode;
	//Set Initial Settings
	scoreScopeText = scoreScope.allTimeName;
	currentScope = "AllTime";
	//Get Scores
	SynchTable();	
}
	
function OnGUI(){
	if(skin)GUI.skin = skin;
	//Set Base Rect
	baseRect = new Rect(Screen.width * .5F,Screen.height * .5F,100F,100F);
	//Update User Score
//	localScore = PlayerPrefs.GetFloat(difficultyModes[modeIndex].playerPrefsName);
	//Status Box
	if(displayOptions.showStatus){
		GUI.Box(new Rect(baseRect.x - messageOffsetBox.x,baseRect.y - messageOffsetBox.y,
		messageOffsetBox.width,messageOffsetBox.height),status);
	}
	if(displayOptions.showUserScore){
		//Local Score Box
		GUI.Box(new Rect(baseRect.x - localScoreOffsetRect.x,baseRect.y - localScoreOffsetRect.y,localScoreOffsetRect.width,localScoreOffsetRect.height)
			,"Local "+difficultyModes[modeIndex].displayName+" Score : "+localScore+" "+scoreType);
		if(trackType == TrackingType.TrackProgress){
			if(PlayerPrefs.GetFloat("nameRegistered") == 1){
				if(runningTrack == 0){
					GUI.Box(new Rect(baseRect.x - serverScoreOffsetRect.x,baseRect.y - serverScoreOffsetRect.y,serverScoreOffsetRect.width,serverScoreOffsetRect.height)
						,"Global "+difficultyModes[modeIndex].displayName+" Score : "+serverScore+" "+scoreType +"\n"
					+ "Global Rank: "+serverRank);
				}else{
					GUI.Box(new Rect(baseRect.x - serverScoreOffsetRect.x,baseRect.y - serverScoreOffsetRect.y,
						serverScoreOffsetRect.width,serverScoreOffsetRect.height),"Seeking Stats");	
				}
			}else{
				GUI.Box(new Rect(baseRect.x - serverScoreOffsetRect.x,baseRect.y - serverScoreOffsetRect.y,
					serverScoreOffsetRect.width,serverScoreOffsetRect.height),"Send Score To Register");	
			}
		}
	}
	if(displayOptions.showDifficultySwitch){
		//Get & Show High Scores
		if(GUI.Button(new Rect(baseRect.x - getScoresOffsetRect.x,baseRect.y - getScoresOffsetRect.y,
			getScoresOffsetRect.width,getScoresOffsetRect.height),""+difficultyModes[modeIndex].displayName)){
			if(modeIndex < difficultyModes.Length - 1){
				modeIndex++;
			}else{modeIndex = 0;}
			//Update	
			StartCoroutine(GetHighScores(difficultyModes[modeIndex].databaseName,currentScope,maxHighScores));
//			localScore = PlayerPrefs.GetFloat(difficultyModes[modeIndex].playerPrefsName);
		}
	}
	if(displayOptions.showScopeSwitch){
		//Set Scope
		if(GUI.Button(new Rect(baseRect.x - scoreScopeOffsetRect.x,baseRect.y - scoreScopeOffsetRect.y,
			scoreScopeOffsetRect.width,scoreScopeOffsetRect.height),""+scoreScopeText)){
			if(scoreScopeText.Equals(scoreScope.allTimeName)){
				scoreScopeText = scoreScope.dailyName;
				currentScope = "Daily";
			}else{
				scoreScopeText = scoreScope.allTimeName;
				currentScope = "AllTime";
			}
			
			StartCoroutine(GetHighScores(difficultyModes[modeIndex].databaseName,currentScope,maxHighScores));
		}
	}
	if(displayOptions.showSendScore){
		//Send Scores
		GUILayout.BeginArea(new Rect(baseRect.x - sendScoresOffsetRect.x,baseRect.y - sendScoresOffsetRect.y,
			sendScoresOffsetRect.width,sendScoresOffsetRect.height));
		GUILayout.BeginHorizontal();
		if(trackType == TrackingType.TrackProgress && PlayerPrefs.GetFloat("nameRegistered") == 1){
			serverHighScoreName = PlayerPrefs.GetString("registeredName");
			GUILayout.Box(serverHighScoreName,GUILayout.Width(150),GUILayout.Height(30));
		}else{
			serverHighScoreName = GUILayout.TextField(serverHighScoreName,GUILayout.Width(150));	
		}
		if(GUILayout.Button("Send")){
			StartCoroutine(SendHighScores(difficultyModes[modeIndex],serverHighScoreName,localScore,difficultyModes));
		}
		GUILayout.EndHorizontal();
		GUILayout.EndArea();
	}
	//Display Scores
	if(displayOptions.showScores){
		GUILayout.BeginArea(new Rect(baseRect.x - scoresListOffsetRect.x,baseRect.y - scoresListOffsetRect.y,
			scoresListOffsetRect.width,scoresListOffsetRect.height));
		scrollView = GUILayout.BeginScrollView(scrollView);
			for(var x : int = 1;x<serverHighScores.Length;x++){
				if(x > maxHighScores){break;}
				if(serverHighScores[x] != null){
					var score : String[] = serverHighScores[x].Split(':'[0]); //Split the Score From PHP set Up
					if(score.Length > 1){
						GUILayout.BeginHorizontal();
						GUILayout.Label(x.ToString()+": ");
						GUILayout.Space(10);
						GUILayout.Label(score[0],GUILayout.Width(200),GUILayout.Height(30));
						GUILayout.FlexibleSpace();
						GUILayout.Label(score[1]+" "+scoreType,GUILayout.Width(150),GUILayout.Height(20));
						GUILayout.EndHorizontal();
					}
				}else{
					GUILayout.Label(serverHighScores[x] +" "+scoreType,GUILayout.Width(100));
				}
			}
		GUILayout.EndScrollView();
		GUILayout.EndArea();
	}
	//Editor Tools
	if(developmentMode == DeveloperType.debug){
		EditorTools();
	}
}
	
function EditorTools(){
	GUILayout.BeginHorizontal();
	GUILayout.Label("",GUILayout.Width(Screen.width - 230));
	GUILayout.FlexibleSpace();
	GUILayout.BeginVertical();
	GUILayout.Space(100);
	GUILayout.Box("CREATE",GUILayout.Width(200));
	if(GUILayout.Button("Create Tables",GUILayout.Width(200))){
		StartCoroutine(DatabaseTools(0,difficultyModes));
	}
	GUILayout.Box("MANAGE",GUILayout.Width(200));
	if(GUILayout.Button("Reset All "+difficultyModes[modeIndex].displayName,GUILayout.Width(200))){
		StartCoroutine(ResetHighScores(difficultyModes[modeIndex].databaseName,"Reset"));	
	}
	if(GUILayout.Button("Delete All "+difficultyModes[modeIndex].displayName,GUILayout.Width(200))){
		StartCoroutine(ResetHighScores(difficultyModes[modeIndex].databaseName,"Delete"));
	}
	if(GUILayout.Button("Delete Below Score: " +difficultyModes[modeIndex].displayName ,GUILayout.Width(200))){
		StartCoroutine(DatabaseTools(1,difficultyModes[modeIndex].databaseName));	
	}
	GUILayout.BeginHorizontal();
	GUILayout.Box(""+deleteScore,GUILayout.Width(50));
//	deleteScore = Mathf.CeilToInt(GUILayout.HorizontalSlider(deleteScore,1,maxResetScore,GUILayout.Width(150)));
	GUILayout.EndHorizontal();
	//
	if(GUILayout.Button("Delete Below Date: "+difficultyModes[modeIndex].displayName,GUILayout.Width(200))){
		StartCoroutine(DatabaseTools(2,difficultyModes[modeIndex].databaseName));	
	}
	GUILayout.BeginHorizontal();
	GUILayout.Label(""+year,GUILayout.Width(30));
//	year = Mathf.CeilToInt(GUILayout.HorizontalSlider(year,2012,2013,GUILayout.Width(30)));
	GUILayout.Label(""+month,GUILayout.Width(20));
//	month = Mathf.CeilToInt(GUILayout.HorizontalSlider(month,1,12,GUILayout.Width(40)));
	GUILayout.Label(""+day,GUILayout.Width(20));
//	day = Mathf.CeilToInt(GUILayout.HorizontalSlider(day,1,31,GUILayout.Width(40)));
	GUILayout.EndHorizontal();
	GUILayout.Box("TEST DATA",GUILayout.Width(200));
	if(GUILayout.Button("Null Registration",GUILayout.Width(200))){
		PlayerPrefs.SetFloat("nameRegistered",0);	
		PlayerPrefs.SetString("registeredName","");
	}
	//
	GUILayout.BeginHorizontal();
	GUILayout.Box("Score: "+PlayerPrefs.GetFloat(difficultyModes[modeIndex].playerPrefsName),GUILayout.Width(100));
	PlayerPrefs.SetFloat(difficultyModes[modeIndex].playerPrefsName,Mathf.CeilToInt(GUILayout.HorizontalSlider(PlayerPrefs.GetFloat(difficultyModes[modeIndex].playerPrefsName),1,maxResetScore,GUILayout.Width(100))));
	GUILayout.EndHorizontal();
	//
	GUILayout.EndVertical();
	GUILayout.EndHorizontal();
}

eu uso o mode easy, que e a tabela que cria la do database que que mandei no comeco.

Share this post


Link to post
Share on other sites

O comando que insere deve estar em alguma função, mas se o número que é gerado aleatoriamente separa os decimais com ponto, deve ser algo no Java, poste o problema na área do JAVA, não conheço bem a linguagem, menos que o básico. =/

Share this post


Link to post
Share on other sites

  • Similar Content

    • By Mauricio Molina
      Ola pessoal,
       
      Estou com dificuldade em dar um ECO, onde dependendo do resultado que vira do BD ao abrir a pagina ela chama um modal.
       
      O código em si  esta funcionando bem, apenas quero adicionar o resultado do banco, para que quando estiver configurado para tal ele chamar o modal.
       
      Código completo da pagina:
       
      <?php session_start(); include_once("seguranca.php"); include_once("../conexao/conexao.php"); $result_usuarios = "SELECT * FROM situacao_usuario"; $resultado_usuarios = mysqli_query($conn, $result_usuarios); seguranca_adm(); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content="Weblina"> <link rel="icon" href="../imagens/favicon.ico"> <title>Cadastrar Textos</title> <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet"> <!-- Bootstrap CSS CDN --> <link rel="stylesheet" href="../css/bootstrap.min.css"> <!-- Our Custom CSS --> <link rel="stylesheet" href="../css/offcanvas.css"> <!-- Font Awesome JS --> <script defer src="https://use.fontawesome.com/releases/v5.0.13/js/solid.js"></script> <script defer src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js"></script> <script src="../js/ie-emulation-modes-warning.js"></script> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </head> <body role="document"> <?php require_once '../menu/menu-adm.html'; ?> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">Necessário efetuar pagamento</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span><button> </div> <div class="modal-body"> ... </div> <div class="modal-footer"> <a href="pagar.php"><button type="button" class="btn btn-primary">Pagar Agrora</button></a> </div> </div> </div> </div> <?php while($rows_usuarios = mysqli_fetch_assoc($resultado_usuarios)){ ?> <?php $situacao_usuario = "pendente"; /*Onde desejo colocar o eco <?php echo $rows_usuarios["pendente"];?> */ if($situacao_usuario == "pendente"){ ?> <script> $(document).ready(function(){ $('#myModal').modal('show'); }); </script> <?php } ?> <div class="container"> <?php echo $rows_usuarios["pendente"]; ?> </div> <?php } ?> <!-- Principal JavaScript do Bootstrap ================================================== --> <!-- Foi colocado no final para a página carregar mais rápido --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" </script> <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script> <script src="../js/popper.min.js"></script> <script src="../js/bootstrap.min.js"></script> <script src="../js/vendor/holder.min.js"></script> <script src="../js/offcanvas.js"></script> </body> </html> Onde quero introduzir o eco:
       
      <?php while($rows_usuarios = mysqli_fetch_assoc($resultado_usuarios)){ ?> <?php $situacao_usuario = "pendente"; /*Onde desejo colocar o eco <?php echo $rows_usuarios["pendente"];?> */ if($situacao_usuario == "pendente"){ ?> <script> $(document).ready(function(){ $('#myModal').modal('show'); }); </script> <?php } ?> <div class="container"> <?php echo $rows_usuarios["pendente"]; ?> </div> <?php } ?> Será que alguém pode dar uma força?
    • By jehqueres
      Eu comprei um script php ontem, dai eu queria saber, oque eu faço agora? porque tipo queria mudar as configurações dela, o estilo, porque ja tenho um site só falta a parte do leilao
    • By mamotinho
      Olá, estou com problemas, minha data está atualizando porém eu clico em um produto ele exibe o tempo sem atualizar . quando eu mudo de produto ele mostra os dois valores exemplo
      Produto 1: tem duraçao de: 1 dia e 13:023 PM
      Produto 2: tem duraçao de: 0 dia e 23:023 PM

      Quando eu clico no produto 1 ele exibe normalmente, porém quando mudo para o produto 2 ele fica atualizando o valor do dia do produto 1 e do produto 2 sempre mudando.
      segue abaixo como está o codigo

      JavaSCRIPT
       
      function anooo(mes,dia,h,m){ var mess = mes; var dias = dia; var hss = h; var mss = m; // Set the date we're counting down to var countDownDate = new Date(""+mess+" "+dias+", 2020 "+hss+":"+mss+":00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var dayss = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("days").innerHTML = dayss; document.getElementById("hrs").innerHTML = hours; document.getElementById("minus").innerHTML = minutes; document.getElementById("secs").innerHTML = seconds; this.remove(countDownDate); // If the count down is over, write some text if (distance < 0) { clearInterval(x); } }, 1000); } AQUI É O CHAMADO:
       
      <? if($result->Discount>=1){ $Month = date('M', strtotime($result->DateDiscount)); $Days = date('d', strtotime($result->DateDiscount)); $Hours = date('H', strtotime($result->DateDiscount)); $Minutes = date('i', strtotime($result->DateDiscount)); echo "<script>anooo('".$Month."','".$Days."','".$Hours."','".$Minutes."')</script>"; //echo "<script>alert('".$Month."')</script>"; ?> <ul class="time_sell remain_time"> <li> <dl> <dt class="blind">남은시간</dt> <dd> <span class='n_date day' id='days'></span> <span class='date'>일</span> <span class='n_time hour' id='hrs'></span> <span class='n_time minute' id='minus'></span> <span class='n_time second' id='secs'></span> <div id="countdown"></div> </dd> </dl> </li> </ul> <? } ?> eu já tentei de tudo mais sempre que mudo de produto ele exibe a data dos produtos anteriores em loop. a cada atualização do setInterval
    • By mamotinho
      Olá, a alguns dias eu percebi que estou com um único problema no código do meu site , e queria sabe se é possível eu corrigir essa mensagem de erro segue abaixo imagem do erro.
       

    • By Mauricio Molina
      Ola,
       
      Tenho este script que peguei na internet, conheço pouco de javascript, para calcular o valor de dois inputs e adicionar a outro input o resultado, esta funcionando corretamente com as alterações que fiz.
       
      Da maneira que eles esta, o resultado esta sendo gerado em forma de moeda ex 20,00.
       
      Gostaria que ele gerasse um numero sem as duas casas após a vírgula, ex 20, e se caso o resultado der 4 dígitos que colocasse ponto automaticamente, ex 2.000
       
      Alguém pode dar uma força?
       
      <script type="text/javascript"> function id(el) { return document.getElementById( el ); } function metros_perc( un, cooper ) { return parseFloat(un.replace(',', '.'), 10) * parseFloat(cooper.replace(',', '.'), 10); } window.onload = function() { id('mquadra').addEventListener('keyup', function() { var result = metros_perc( this.value , id('cooper').value ); id('metros_perc').value = String(result.toFixed(2)).formatMoney(); }); id('cooper').addEventListener('keyup', function(){ var result = metros_perc( id('mquadra').value , this.value ); id('metros_perc').value = String(result.toFixed(2)).formatMoney(); }); } String.prototype.formatMoney = function() { var v = this; if(v.indexOf('.') === -1) { v = v.replace(/([\d]+)/, "$00"); } v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20"); v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2"); v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3"); return v; }; </script> Obrigado!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.